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 (self.fp.cmd_draw_mesh_tasks_nv)(command_buffer, task_count, first_task);
15 }
16
17 #[inline]
19 pub unsafe fn cmd_draw_mesh_tasks_indirect(
20 &self,
21 command_buffer: vk::CommandBuffer,
22 buffer: vk::Buffer,
23 offset: vk::DeviceSize,
24 draw_count: u32,
25 stride: u32,
26 ) {
27 (self.fp.cmd_draw_mesh_tasks_indirect_nv)(
28 command_buffer,
29 buffer,
30 offset,
31 draw_count,
32 stride,
33 );
34 }
35
36 #[inline]
38 pub unsafe fn cmd_draw_mesh_tasks_indirect_count(
39 &self,
40 command_buffer: vk::CommandBuffer,
41 buffer: vk::Buffer,
42 offset: vk::DeviceSize,
43 count_buffer: vk::Buffer,
44 count_buffer_offset: vk::DeviceSize,
45 max_draw_count: u32,
46 stride: u32,
47 ) {
48 (self.fp.cmd_draw_mesh_tasks_indirect_count_nv)(
49 command_buffer,
50 buffer,
51 offset,
52 count_buffer,
53 count_buffer_offset,
54 max_draw_count,
55 stride,
56 );
57 }
58}