Skip to main content

jay_ash/extensions/nv/
mesh_shader.rs

1//! <https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_NV_mesh_shader.html>
2
3use crate::vk;
4
5impl crate::nv::mesh_shader::Device {
6    /// <https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCmdDrawMeshTasksNV.html>
7    #[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    /// <https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCmdDrawMeshTasksIndirectNV.html>
20    #[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    /// <https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCmdDrawMeshTasksIndirectCountNV.html>
41    #[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}