ash/extensions/khr/
pipeline_executable_properties.rs

1//! <https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_pipeline_executable_properties.html>
2
3use crate::prelude::*;
4use crate::vk;
5use alloc::vec::Vec;
6
7impl crate::khr::pipeline_executable_properties::Device {
8    /// <https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetPipelineExecutableInternalRepresentationsKHR.html>
9    #[inline]
10    pub unsafe fn get_pipeline_executable_internal_representations(
11        &self,
12        executable_info: &vk::PipelineExecutableInfoKHR<'_>,
13    ) -> VkResult<Vec<vk::PipelineExecutableInternalRepresentationKHR<'_>>> {
14        read_into_defaulted_vector(|count, data| {
15            (self.fp.get_pipeline_executable_internal_representations_khr)(
16                self.handle,
17                executable_info,
18                count,
19                data,
20            )
21        })
22    }
23
24    /// <https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetPipelineExecutablePropertiesKHR.html>
25    #[inline]
26    pub unsafe fn get_pipeline_executable_properties(
27        &self,
28        pipeline_info: &vk::PipelineInfoKHR<'_>,
29    ) -> VkResult<Vec<vk::PipelineExecutablePropertiesKHR<'_>>> {
30        read_into_defaulted_vector(|count, data| {
31            (self.fp.get_pipeline_executable_properties_khr)(
32                self.handle,
33                pipeline_info,
34                count,
35                data,
36            )
37        })
38    }
39
40    /// <https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetPipelineExecutableStatisticsKHR.html>
41    #[inline]
42    pub unsafe fn get_pipeline_executable_statistics(
43        &self,
44        executable_info: &vk::PipelineExecutableInfoKHR<'_>,
45    ) -> VkResult<Vec<vk::PipelineExecutableStatisticKHR<'_>>> {
46        read_into_defaulted_vector(|count, data| {
47            (self.fp.get_pipeline_executable_statistics_khr)(
48                self.handle,
49                executable_info,
50                count,
51                data,
52            )
53        })
54    }
55}