erupt/generated/extensions/
khr_sampler_ycbcr_conversion.rs

1// DO NOT EDIT: @generated by erupt's generator
2///<s>Vulkan Manual Page</s> · Constant
3#[doc(alias = "VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION")]
4pub const KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION: u32 = 14;
5///<s>Vulkan Manual Page</s> · Constant
6#[doc(alias = "VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME")]
7pub const KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME: *const std::os::raw::c_char = crate::cstr!(
8    "VK_KHR_sampler_ycbcr_conversion"
9);
10///<s>Vulkan Manual Page</s> · Constant
11pub const FN_CREATE_SAMPLER_YCBCR_CONVERSION_KHR: *const std::os::raw::c_char = crate::cstr!(
12    "vkCreateSamplerYcbcrConversionKHR"
13);
14///<s>Vulkan Manual Page</s> · Constant
15pub const FN_DESTROY_SAMPLER_YCBCR_CONVERSION_KHR: *const std::os::raw::c_char = crate::cstr!(
16    "vkDestroySamplerYcbcrConversionKHR"
17);
18///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrConversionKHR.html) · Alias
19#[doc(alias = "VkSamplerYcbcrConversionKHR")]
20#[allow(non_camel_case_types)]
21pub type SamplerYcbcrConversionKHR = crate::vk1_1::SamplerYcbcrConversion;
22///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrModelConversionKHR.html) · Alias
23#[doc(alias = "VkSamplerYcbcrModelConversionKHR")]
24#[allow(non_camel_case_types)]
25pub type SamplerYcbcrModelConversionKHR = crate::vk1_1::SamplerYcbcrModelConversion;
26///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrRangeKHR.html) · Alias
27#[doc(alias = "VkSamplerYcbcrRangeKHR")]
28#[allow(non_camel_case_types)]
29pub type SamplerYcbcrRangeKHR = crate::vk1_1::SamplerYcbcrRange;
30///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkChromaLocationKHR.html) · Alias
31#[doc(alias = "VkChromaLocationKHR")]
32#[allow(non_camel_case_types)]
33pub type ChromaLocationKHR = crate::vk1_1::ChromaLocation;
34///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrConversionInfoKHR.html) · Alias
35#[doc(alias = "VkSamplerYcbcrConversionInfoKHR")]
36#[allow(non_camel_case_types)]
37pub type SamplerYcbcrConversionInfoKHR = crate::vk1_1::SamplerYcbcrConversionInfo;
38///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrConversionInfoKHR.html) · Alias
39#[doc(alias = "VkSamplerYcbcrConversionInfoKHR")]
40#[allow(non_camel_case_types)]
41pub type SamplerYcbcrConversionInfoKHRBuilder<'a> = crate::vk1_1::SamplerYcbcrConversionInfoBuilder<
42    'a,
43>;
44///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrConversionCreateInfoKHR.html) · Alias
45#[doc(alias = "VkSamplerYcbcrConversionCreateInfoKHR")]
46#[allow(non_camel_case_types)]
47pub type SamplerYcbcrConversionCreateInfoKHR = crate::vk1_1::SamplerYcbcrConversionCreateInfo;
48///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrConversionCreateInfoKHR.html) · Alias
49#[doc(alias = "VkSamplerYcbcrConversionCreateInfoKHR")]
50#[allow(non_camel_case_types)]
51pub type SamplerYcbcrConversionCreateInfoKHRBuilder<'a> = crate::vk1_1::SamplerYcbcrConversionCreateInfoBuilder<
52    'a,
53>;
54///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkBindImagePlaneMemoryInfoKHR.html) · Alias
55#[doc(alias = "VkBindImagePlaneMemoryInfoKHR")]
56#[allow(non_camel_case_types)]
57pub type BindImagePlaneMemoryInfoKHR = crate::vk1_1::BindImagePlaneMemoryInfo;
58///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkBindImagePlaneMemoryInfoKHR.html) · Alias
59#[doc(alias = "VkBindImagePlaneMemoryInfoKHR")]
60#[allow(non_camel_case_types)]
61pub type BindImagePlaneMemoryInfoKHRBuilder<'a> = crate::vk1_1::BindImagePlaneMemoryInfoBuilder<
62    'a,
63>;
64///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkImagePlaneMemoryRequirementsInfoKHR.html) · Alias
65#[doc(alias = "VkImagePlaneMemoryRequirementsInfoKHR")]
66#[allow(non_camel_case_types)]
67pub type ImagePlaneMemoryRequirementsInfoKHR = crate::vk1_1::ImagePlaneMemoryRequirementsInfo;
68///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkImagePlaneMemoryRequirementsInfoKHR.html) · Alias
69#[doc(alias = "VkImagePlaneMemoryRequirementsInfoKHR")]
70#[allow(non_camel_case_types)]
71pub type ImagePlaneMemoryRequirementsInfoKHRBuilder<'a> = crate::vk1_1::ImagePlaneMemoryRequirementsInfoBuilder<
72    'a,
73>;
74///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR.html) · Alias
75#[doc(alias = "VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR")]
76#[allow(non_camel_case_types)]
77pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR = crate::vk1_1::PhysicalDeviceSamplerYcbcrConversionFeatures;
78///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR.html) · Alias
79#[doc(alias = "VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR")]
80#[allow(non_camel_case_types)]
81pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHRBuilder<'a> = crate::vk1_1::PhysicalDeviceSamplerYcbcrConversionFeaturesBuilder<
82    'a,
83>;
84///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrConversionImageFormatPropertiesKHR.html) · Alias
85#[doc(alias = "VkSamplerYcbcrConversionImageFormatPropertiesKHR")]
86#[allow(non_camel_case_types)]
87pub type SamplerYcbcrConversionImageFormatPropertiesKHR = crate::vk1_1::SamplerYcbcrConversionImageFormatProperties;
88///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrConversionImageFormatPropertiesKHR.html) · Alias
89#[doc(alias = "VkSamplerYcbcrConversionImageFormatPropertiesKHR")]
90#[allow(non_camel_case_types)]
91pub type SamplerYcbcrConversionImageFormatPropertiesKHRBuilder<'a> = crate::vk1_1::SamplerYcbcrConversionImageFormatPropertiesBuilder<
92    'a,
93>;
94///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCreateSamplerYcbcrConversionKHR.html) · Alias
95#[allow(non_camel_case_types)]
96pub type PFN_vkCreateSamplerYcbcrConversionKHR = crate::vk1_1::PFN_vkCreateSamplerYcbcrConversion;
97///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkDestroySamplerYcbcrConversionKHR.html) · Alias
98#[allow(non_camel_case_types)]
99pub type PFN_vkDestroySamplerYcbcrConversionKHR = crate::vk1_1::PFN_vkDestroySamplerYcbcrConversion;
100///Provided by [`crate::extensions::khr_sampler_ycbcr_conversion`]
101impl crate::vk1_0::Format {
102    pub const G8B8G8R8_422_UNORM_KHR: Self = Self::G8B8G8R8_422_UNORM;
103    pub const B8G8R8G8_422_UNORM_KHR: Self = Self::B8G8R8G8_422_UNORM;
104    pub const G8_B8_R8_3PLANE_420_UNORM_KHR: Self = Self::G8_B8_R8_3PLANE_420_UNORM;
105    pub const G8_B8R8_2PLANE_420_UNORM_KHR: Self = Self::G8_B8R8_2PLANE_420_UNORM;
106    pub const G8_B8_R8_3PLANE_422_UNORM_KHR: Self = Self::G8_B8_R8_3PLANE_422_UNORM;
107    pub const G8_B8R8_2PLANE_422_UNORM_KHR: Self = Self::G8_B8R8_2PLANE_422_UNORM;
108    pub const G8_B8_R8_3PLANE_444_UNORM_KHR: Self = Self::G8_B8_R8_3PLANE_444_UNORM;
109    pub const R10X6_UNORM_PACK16_KHR: Self = Self::R10X6_UNORM_PACK16;
110    pub const R10X6G10X6_UNORM_2PACK16_KHR: Self = Self::R10X6G10X6_UNORM_2PACK16;
111    pub const R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR: Self = Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16;
112    pub const G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR: Self = Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16;
113    pub const B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR: Self = Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16;
114    pub const G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR: Self = Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16;
115    pub const G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR: Self = Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16;
116    pub const G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR: Self = Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16;
117    pub const G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR: Self = Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16;
118    pub const G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR: Self = Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16;
119    pub const R12X4_UNORM_PACK16_KHR: Self = Self::R12X4_UNORM_PACK16;
120    pub const R12X4G12X4_UNORM_2PACK16_KHR: Self = Self::R12X4G12X4_UNORM_2PACK16;
121    pub const R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR: Self = Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16;
122    pub const G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR: Self = Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16;
123    pub const B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR: Self = Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16;
124    pub const G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR: Self = Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16;
125    pub const G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR: Self = Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16;
126    pub const G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR: Self = Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16;
127    pub const G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR: Self = Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16;
128    pub const G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR: Self = Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16;
129    pub const G16B16G16R16_422_UNORM_KHR: Self = Self::G16B16G16R16_422_UNORM;
130    pub const B16G16R16G16_422_UNORM_KHR: Self = Self::B16G16R16G16_422_UNORM;
131    pub const G16_B16_R16_3PLANE_420_UNORM_KHR: Self = Self::G16_B16_R16_3PLANE_420_UNORM;
132    pub const G16_B16R16_2PLANE_420_UNORM_KHR: Self = Self::G16_B16R16_2PLANE_420_UNORM;
133    pub const G16_B16_R16_3PLANE_422_UNORM_KHR: Self = Self::G16_B16_R16_3PLANE_422_UNORM;
134    pub const G16_B16R16_2PLANE_422_UNORM_KHR: Self = Self::G16_B16R16_2PLANE_422_UNORM;
135    pub const G16_B16_R16_3PLANE_444_UNORM_KHR: Self = Self::G16_B16_R16_3PLANE_444_UNORM;
136}
137///Provided by [`crate::extensions::khr_sampler_ycbcr_conversion`]
138impl crate::vk1_0::FormatFeatureFlagBits {
139    pub const MIDPOINT_CHROMA_SAMPLES_KHR: Self = Self::MIDPOINT_CHROMA_SAMPLES;
140    pub const SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_KHR: Self = Self::SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER;
141    pub const SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_KHR: Self = Self::SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER;
142    pub const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_KHR: Self = Self::SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT;
143    pub const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_KHR: Self = Self::SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE;
144    pub const DISJOINT_KHR: Self = Self::DISJOINT;
145    pub const COSITED_CHROMA_SAMPLES_KHR: Self = Self::COSITED_CHROMA_SAMPLES;
146}
147///Provided by [`crate::extensions::khr_sampler_ycbcr_conversion`]
148impl crate::vk1_0::ImageAspectFlagBits {
149    pub const PLANE_0_KHR: Self = Self::PLANE_0;
150    pub const PLANE_1_KHR: Self = Self::PLANE_1;
151    pub const PLANE_2_KHR: Self = Self::PLANE_2;
152}
153///Provided by [`crate::extensions::khr_sampler_ycbcr_conversion`]
154impl crate::vk1_0::ImageCreateFlagBits {
155    pub const DISJOINT_KHR: Self = Self::DISJOINT;
156}
157///Provided by [`crate::extensions::khr_sampler_ycbcr_conversion`]
158impl crate::vk1_0::StructureType {
159    pub const SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR: Self = Self::SAMPLER_YCBCR_CONVERSION_CREATE_INFO;
160    pub const SAMPLER_YCBCR_CONVERSION_INFO_KHR: Self = Self::SAMPLER_YCBCR_CONVERSION_INFO;
161    pub const BIND_IMAGE_PLANE_MEMORY_INFO_KHR: Self = Self::BIND_IMAGE_PLANE_MEMORY_INFO;
162    pub const IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR: Self = Self::IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO;
163    pub const PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR: Self = Self::PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES;
164    pub const SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR: Self = Self::SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES;
165}
166///Provided by [`crate::extensions::khr_sampler_ycbcr_conversion`]
167impl crate::vk1_0::ObjectType {
168    pub const SAMPLER_YCBCR_CONVERSION_KHR: Self = Self::SAMPLER_YCBCR_CONVERSION;
169}
170///Provided by [`crate::extensions::khr_sampler_ycbcr_conversion`]
171impl crate::extensions::ext_debug_report::DebugReportObjectTypeEXT {
172    pub const SAMPLER_YCBCR_CONVERSION_KHR_EXT: Self = Self::SAMPLER_YCBCR_CONVERSION_EXT;
173}
174///Provided by [`crate::extensions::khr_sampler_ycbcr_conversion`]
175impl crate::vk1_1::SamplerYcbcrModelConversion {
176    pub const RGB_IDENTITY_KHR: Self = Self::RGB_IDENTITY;
177    pub const YCBCR_IDENTITY_KHR: Self = Self::YCBCR_IDENTITY;
178    pub const YCBCR_709_KHR: Self = Self::YCBCR_709;
179    pub const YCBCR_601_KHR: Self = Self::YCBCR_601;
180    pub const YCBCR_2020_KHR: Self = Self::YCBCR_2020;
181}
182///Provided by [`crate::extensions::khr_sampler_ycbcr_conversion`]
183impl crate::vk1_1::SamplerYcbcrRange {
184    pub const ITU_FULL_KHR: Self = Self::ITU_FULL;
185    pub const ITU_NARROW_KHR: Self = Self::ITU_NARROW;
186}
187///Provided by [`crate::extensions::khr_sampler_ycbcr_conversion`]
188impl crate::vk1_1::ChromaLocation {
189    pub const COSITED_EVEN_KHR: Self = Self::COSITED_EVEN;
190    pub const MIDPOINT_KHR: Self = Self::MIDPOINT;
191}
192///Provided by [`crate::extensions::khr_sampler_ycbcr_conversion`]
193impl crate::DeviceLoader {
194    #[inline]
195    #[track_caller]
196    ///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCreateSamplerYcbcrConversionKHR.html) · Function
197    #[doc(alias = "vkCreateSamplerYcbcrConversionKHR")]
198    pub unsafe fn create_sampler_ycbcr_conversion_khr(
199        &self,
200        create_info: &crate::vk1_1::SamplerYcbcrConversionCreateInfo,
201        allocator: Option<&crate::vk1_0::AllocationCallbacks>,
202    ) -> crate::utils::VulkanResult<crate::vk1_1::SamplerYcbcrConversion> {
203        let _function = self
204            .create_sampler_ycbcr_conversion_khr
205            .expect(crate::NOT_LOADED_MESSAGE);
206        let mut ycbcr_conversion = Default::default();
207        let _return = _function(
208            self.handle,
209            create_info as _,
210            match allocator {
211                Some(v) => v,
212                None => std::ptr::null(),
213            },
214            &mut ycbcr_conversion,
215        );
216        crate::utils::VulkanResult::new(_return, ycbcr_conversion)
217    }
218    #[inline]
219    #[track_caller]
220    ///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkDestroySamplerYcbcrConversionKHR.html) · Function
221    #[doc(alias = "vkDestroySamplerYcbcrConversionKHR")]
222    pub unsafe fn destroy_sampler_ycbcr_conversion_khr(
223        &self,
224        ycbcr_conversion: crate::vk1_1::SamplerYcbcrConversion,
225        allocator: Option<&crate::vk1_0::AllocationCallbacks>,
226    ) -> () {
227        let _function = self
228            .destroy_sampler_ycbcr_conversion_khr
229            .expect(crate::NOT_LOADED_MESSAGE);
230        let _return = _function(
231            self.handle,
232            ycbcr_conversion as _,
233            match allocator {
234                Some(v) => v,
235                None => std::ptr::null(),
236            },
237        );
238        ()
239    }
240}