#[doc(alias = "VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION")]
pub const KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION: u32 = 14;
#[doc(alias = "VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME")]
pub const KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME: *const std::os::raw::c_char = crate::cstr!(
"VK_KHR_sampler_ycbcr_conversion"
);
pub const FN_CREATE_SAMPLER_YCBCR_CONVERSION_KHR: *const std::os::raw::c_char = crate::cstr!(
"vkCreateSamplerYcbcrConversionKHR"
);
pub const FN_DESTROY_SAMPLER_YCBCR_CONVERSION_KHR: *const std::os::raw::c_char = crate::cstr!(
"vkDestroySamplerYcbcrConversionKHR"
);
#[doc(alias = "VkSamplerYcbcrConversionKHR")]
#[allow(non_camel_case_types)]
pub type SamplerYcbcrConversionKHR = crate::vk1_1::SamplerYcbcrConversion;
#[doc(alias = "VkSamplerYcbcrModelConversionKHR")]
#[allow(non_camel_case_types)]
pub type SamplerYcbcrModelConversionKHR = crate::vk1_1::SamplerYcbcrModelConversion;
#[doc(alias = "VkSamplerYcbcrRangeKHR")]
#[allow(non_camel_case_types)]
pub type SamplerYcbcrRangeKHR = crate::vk1_1::SamplerYcbcrRange;
#[doc(alias = "VkChromaLocationKHR")]
#[allow(non_camel_case_types)]
pub type ChromaLocationKHR = crate::vk1_1::ChromaLocation;
#[doc(alias = "VkSamplerYcbcrConversionInfoKHR")]
#[allow(non_camel_case_types)]
pub type SamplerYcbcrConversionInfoKHR = crate::vk1_1::SamplerYcbcrConversionInfo;
#[doc(alias = "VkSamplerYcbcrConversionInfoKHR")]
#[allow(non_camel_case_types)]
pub type SamplerYcbcrConversionInfoKHRBuilder<'a> = crate::vk1_1::SamplerYcbcrConversionInfoBuilder<
'a,
>;
#[doc(alias = "VkSamplerYcbcrConversionCreateInfoKHR")]
#[allow(non_camel_case_types)]
pub type SamplerYcbcrConversionCreateInfoKHR = crate::vk1_1::SamplerYcbcrConversionCreateInfo;
#[doc(alias = "VkSamplerYcbcrConversionCreateInfoKHR")]
#[allow(non_camel_case_types)]
pub type SamplerYcbcrConversionCreateInfoKHRBuilder<'a> = crate::vk1_1::SamplerYcbcrConversionCreateInfoBuilder<
'a,
>;
#[doc(alias = "VkBindImagePlaneMemoryInfoKHR")]
#[allow(non_camel_case_types)]
pub type BindImagePlaneMemoryInfoKHR = crate::vk1_1::BindImagePlaneMemoryInfo;
#[doc(alias = "VkBindImagePlaneMemoryInfoKHR")]
#[allow(non_camel_case_types)]
pub type BindImagePlaneMemoryInfoKHRBuilder<'a> = crate::vk1_1::BindImagePlaneMemoryInfoBuilder<
'a,
>;
#[doc(alias = "VkImagePlaneMemoryRequirementsInfoKHR")]
#[allow(non_camel_case_types)]
pub type ImagePlaneMemoryRequirementsInfoKHR = crate::vk1_1::ImagePlaneMemoryRequirementsInfo;
#[doc(alias = "VkImagePlaneMemoryRequirementsInfoKHR")]
#[allow(non_camel_case_types)]
pub type ImagePlaneMemoryRequirementsInfoKHRBuilder<'a> = crate::vk1_1::ImagePlaneMemoryRequirementsInfoBuilder<
'a,
>;
#[doc(alias = "VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR")]
#[allow(non_camel_case_types)]
pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR = crate::vk1_1::PhysicalDeviceSamplerYcbcrConversionFeatures;
#[doc(alias = "VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR")]
#[allow(non_camel_case_types)]
pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHRBuilder<'a> = crate::vk1_1::PhysicalDeviceSamplerYcbcrConversionFeaturesBuilder<
'a,
>;
#[doc(alias = "VkSamplerYcbcrConversionImageFormatPropertiesKHR")]
#[allow(non_camel_case_types)]
pub type SamplerYcbcrConversionImageFormatPropertiesKHR = crate::vk1_1::SamplerYcbcrConversionImageFormatProperties;
#[doc(alias = "VkSamplerYcbcrConversionImageFormatPropertiesKHR")]
#[allow(non_camel_case_types)]
pub type SamplerYcbcrConversionImageFormatPropertiesKHRBuilder<'a> = crate::vk1_1::SamplerYcbcrConversionImageFormatPropertiesBuilder<
'a,
>;
#[allow(non_camel_case_types)]
pub type PFN_vkCreateSamplerYcbcrConversionKHR = crate::vk1_1::PFN_vkCreateSamplerYcbcrConversion;
#[allow(non_camel_case_types)]
pub type PFN_vkDestroySamplerYcbcrConversionKHR = crate::vk1_1::PFN_vkDestroySamplerYcbcrConversion;
impl crate::vk1_0::Format {
pub const G8B8G8R8_422_UNORM_KHR: Self = Self::G8B8G8R8_422_UNORM;
pub const B8G8R8G8_422_UNORM_KHR: Self = Self::B8G8R8G8_422_UNORM;
pub const G8_B8_R8_3PLANE_420_UNORM_KHR: Self = Self::G8_B8_R8_3PLANE_420_UNORM;
pub const G8_B8R8_2PLANE_420_UNORM_KHR: Self = Self::G8_B8R8_2PLANE_420_UNORM;
pub const G8_B8_R8_3PLANE_422_UNORM_KHR: Self = Self::G8_B8_R8_3PLANE_422_UNORM;
pub const G8_B8R8_2PLANE_422_UNORM_KHR: Self = Self::G8_B8R8_2PLANE_422_UNORM;
pub const G8_B8_R8_3PLANE_444_UNORM_KHR: Self = Self::G8_B8_R8_3PLANE_444_UNORM;
pub const R10X6_UNORM_PACK16_KHR: Self = Self::R10X6_UNORM_PACK16;
pub const R10X6G10X6_UNORM_2PACK16_KHR: Self = Self::R10X6G10X6_UNORM_2PACK16;
pub const R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR: Self = Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16;
pub const G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR: Self = Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16;
pub const B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR: Self = Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16;
pub const G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR: Self = Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16;
pub const G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR: Self = Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16;
pub const G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR: Self = Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16;
pub const G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR: Self = Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16;
pub const G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR: Self = Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16;
pub const R12X4_UNORM_PACK16_KHR: Self = Self::R12X4_UNORM_PACK16;
pub const R12X4G12X4_UNORM_2PACK16_KHR: Self = Self::R12X4G12X4_UNORM_2PACK16;
pub const R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR: Self = Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16;
pub const G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR: Self = Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16;
pub const B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR: Self = Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16;
pub const G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR: Self = Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16;
pub const G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR: Self = Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16;
pub const G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR: Self = Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16;
pub const G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR: Self = Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16;
pub const G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR: Self = Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16;
pub const G16B16G16R16_422_UNORM_KHR: Self = Self::G16B16G16R16_422_UNORM;
pub const B16G16R16G16_422_UNORM_KHR: Self = Self::B16G16R16G16_422_UNORM;
pub const G16_B16_R16_3PLANE_420_UNORM_KHR: Self = Self::G16_B16_R16_3PLANE_420_UNORM;
pub const G16_B16R16_2PLANE_420_UNORM_KHR: Self = Self::G16_B16R16_2PLANE_420_UNORM;
pub const G16_B16_R16_3PLANE_422_UNORM_KHR: Self = Self::G16_B16_R16_3PLANE_422_UNORM;
pub const G16_B16R16_2PLANE_422_UNORM_KHR: Self = Self::G16_B16R16_2PLANE_422_UNORM;
pub const G16_B16_R16_3PLANE_444_UNORM_KHR: Self = Self::G16_B16_R16_3PLANE_444_UNORM;
}
impl crate::vk1_0::FormatFeatureFlagBits {
pub const MIDPOINT_CHROMA_SAMPLES_KHR: Self = Self::MIDPOINT_CHROMA_SAMPLES;
pub const SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_KHR: Self = Self::SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER;
pub const SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_KHR: Self = Self::SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER;
pub const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_KHR: Self = Self::SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT;
pub const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_KHR: Self = Self::SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE;
pub const DISJOINT_KHR: Self = Self::DISJOINT;
pub const COSITED_CHROMA_SAMPLES_KHR: Self = Self::COSITED_CHROMA_SAMPLES;
}
impl crate::vk1_0::ImageAspectFlagBits {
pub const PLANE_0_KHR: Self = Self::PLANE_0;
pub const PLANE_1_KHR: Self = Self::PLANE_1;
pub const PLANE_2_KHR: Self = Self::PLANE_2;
}
impl crate::vk1_0::ImageCreateFlagBits {
pub const DISJOINT_KHR: Self = Self::DISJOINT;
}
impl crate::vk1_0::StructureType {
pub const SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR: Self = Self::SAMPLER_YCBCR_CONVERSION_CREATE_INFO;
pub const SAMPLER_YCBCR_CONVERSION_INFO_KHR: Self = Self::SAMPLER_YCBCR_CONVERSION_INFO;
pub const BIND_IMAGE_PLANE_MEMORY_INFO_KHR: Self = Self::BIND_IMAGE_PLANE_MEMORY_INFO;
pub const IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR: Self = Self::IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO;
pub const PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR: Self = Self::PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES;
pub const SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR: Self = Self::SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES;
}
impl crate::vk1_0::ObjectType {
pub const SAMPLER_YCBCR_CONVERSION_KHR: Self = Self::SAMPLER_YCBCR_CONVERSION;
}
impl crate::extensions::ext_debug_report::DebugReportObjectTypeEXT {
pub const SAMPLER_YCBCR_CONVERSION_KHR_EXT: Self = Self::SAMPLER_YCBCR_CONVERSION_EXT;
}
impl crate::vk1_1::SamplerYcbcrModelConversion {
pub const RGB_IDENTITY_KHR: Self = Self::RGB_IDENTITY;
pub const YCBCR_IDENTITY_KHR: Self = Self::YCBCR_IDENTITY;
pub const YCBCR_709_KHR: Self = Self::YCBCR_709;
pub const YCBCR_601_KHR: Self = Self::YCBCR_601;
pub const YCBCR_2020_KHR: Self = Self::YCBCR_2020;
}
impl crate::vk1_1::SamplerYcbcrRange {
pub const ITU_FULL_KHR: Self = Self::ITU_FULL;
pub const ITU_NARROW_KHR: Self = Self::ITU_NARROW;
}
impl crate::vk1_1::ChromaLocation {
pub const COSITED_EVEN_KHR: Self = Self::COSITED_EVEN;
pub const MIDPOINT_KHR: Self = Self::MIDPOINT;
}
impl crate::DeviceLoader {
#[inline]
#[track_caller]
#[doc(alias = "vkCreateSamplerYcbcrConversionKHR")]
pub unsafe fn create_sampler_ycbcr_conversion_khr(
&self,
create_info: &crate::vk1_1::SamplerYcbcrConversionCreateInfo,
allocator: Option<&crate::vk1_0::AllocationCallbacks>,
) -> crate::utils::VulkanResult<crate::vk1_1::SamplerYcbcrConversion> {
let _function = self
.create_sampler_ycbcr_conversion_khr
.expect(crate::NOT_LOADED_MESSAGE);
let mut ycbcr_conversion = Default::default();
let _return = _function(
self.handle,
create_info as _,
match allocator {
Some(v) => v,
None => std::ptr::null(),
},
&mut ycbcr_conversion,
);
crate::utils::VulkanResult::new(_return, ycbcr_conversion)
}
#[inline]
#[track_caller]
#[doc(alias = "vkDestroySamplerYcbcrConversionKHR")]
pub unsafe fn destroy_sampler_ycbcr_conversion_khr(
&self,
ycbcr_conversion: crate::vk1_1::SamplerYcbcrConversion,
allocator: Option<&crate::vk1_0::AllocationCallbacks>,
) -> () {
let _function = self
.destroy_sampler_ycbcr_conversion_khr
.expect(crate::NOT_LOADED_MESSAGE);
let _return = _function(
self.handle,
ycbcr_conversion as _,
match allocator {
Some(v) => v,
None => std::ptr::null(),
},
);
()
}
}