jay_ash/extensions/nv/
mesh_shader.rs1use crate::vk;
4
5impl crate::nv::mesh_shader::Device {
6 #[inline]
8 pub unsafe fn cmd_draw_mesh_tasks(
9 &self,
10 command_buffer: vk::CommandBuffer,
11 task_count: u32,
12 first_task: u32,
13 ) {
14 unsafe {
15 (self.fp.cmd_draw_mesh_tasks_nv)(command_buffer, task_count, first_task);
16 }
17 }
18
19 #[inline]
21 pub unsafe fn cmd_draw_mesh_tasks_indirect(
22 &self,
23 command_buffer: vk::CommandBuffer,
24 buffer: vk::Buffer,
25 offset: vk::DeviceSize,
26 draw_count: u32,
27 stride: u32,
28 ) {
29 unsafe {
30 (self.fp.cmd_draw_mesh_tasks_indirect_nv)(
31 command_buffer,
32 buffer,
33 offset,
34 draw_count,
35 stride,
36 );
37 }
38 }
39
40 #[inline]
42 pub unsafe fn cmd_draw_mesh_tasks_indirect_count(
43 &self,
44 command_buffer: vk::CommandBuffer,
45 buffer: vk::Buffer,
46 offset: vk::DeviceSize,
47 count_buffer: vk::Buffer,
48 count_buffer_offset: vk::DeviceSize,
49 max_draw_count: u32,
50 stride: u32,
51 ) {
52 unsafe {
53 (self.fp.cmd_draw_mesh_tasks_indirect_count_nv)(
54 command_buffer,
55 buffer,
56 offset,
57 count_buffer,
58 count_buffer_offset,
59 max_draw_count,
60 stride,
61 );
62 }
63 }
64}