ash/extensions/khr/
push_descriptor.rs

1//! <https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_push_descriptor.html>
2
3use crate::vk;
4use core::ffi;
5
6impl crate::khr::push_descriptor::Device {
7    /// <https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCmdPushDescriptorSetKHR.html>
8    #[inline]
9    pub unsafe fn cmd_push_descriptor_set(
10        &self,
11        command_buffer: vk::CommandBuffer,
12        pipeline_bind_point: vk::PipelineBindPoint,
13        layout: vk::PipelineLayout,
14        set: u32,
15        descriptor_writes: &[vk::WriteDescriptorSet<'_>],
16    ) {
17        (self.fp.cmd_push_descriptor_set_khr)(
18            command_buffer,
19            pipeline_bind_point,
20            layout,
21            set,
22            descriptor_writes.len() as u32,
23            descriptor_writes.as_ptr(),
24        )
25    }
26
27    /// <https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html>
28    #[inline]
29    pub unsafe fn cmd_push_descriptor_set_with_template(
30        &self,
31        command_buffer: vk::CommandBuffer,
32        descriptor_update_template: vk::DescriptorUpdateTemplate,
33        layout: vk::PipelineLayout,
34        set: u32,
35        p_data: *const ffi::c_void,
36    ) {
37        (self.fp.cmd_push_descriptor_set_with_template_khr)(
38            command_buffer,
39            descriptor_update_template,
40            layout,
41            set,
42            p_data,
43        )
44    }
45}