Modulevulkan-3.27GHC2021
Vulkan.Extensions.VK_KHR_sampler_ycbcr_conversion
Name
VK_KHR_sampler_ycbcr_conversion - device extension
VK_KHR_sampler_ycbcr_conversion
- Name String
VK_KHR_sampler_ycbcr_conversion
- Extension Type
Device extension
- Registered Extension Number
157
- Revision
14
- Ratification Status
Ratified
- Extension and Version Dependencies
VK_KHR_get_memory_requirements2 and
VK_KHR_get_physical_device_properties2 or Vulkan Version 1.1
- API Interactions
Interacts with VK_EXT_debug_report
- Deprecation State
Promoted to Vulkan 1.1
- Contact
Other Extension Metadata
- Last Modified Date
2017-08-11
- IP Status
No known IP claims.
- Contributors
Andrew Garrard, Samsung Electronics
Tobias Hector, Imagination Technologies
James Jones, NVIDIA
Daniel Koch, NVIDIA
Daniel Rakos, AMD
Romain Guy, Google
Jesse Hall, Google
Tom Cooksey, ARM Ltd
Jeff Leger, Qualcomm Technologies, Inc
Jan-Harald Fredriksen, ARM Ltd
Jan Outters, Samsung Electronics
Alon Or-bach, Samsung Electronics
Michael Worcester, Imagination Technologies
Jeff Bolz, NVIDIA
Tony Zlatinski, NVIDIA
Matthew Netsch, Qualcomm Technologies, Inc
Description
The use of Y′CBCR sampler conversion is an area in 3D graphics not used by most Vulkan developers. It is mainly used for processing inputs from video decoders and cameras. The use of the extension assumes basic knowledge of Y′CBCR concepts.
This extension provides the ability to perform specified color space conversions during texture sampling operations for the Y′CBCR color space natively. It also adds a selection of multi-planar formats, image aspect plane, and the ability to bind memory to the planes of an image collectively or separately.
Promotion to Vulkan 1.1
All functionality in this extension is included in core Vulkan 1.1, with
the KHR suffix omitted. However, if Vulkan 1.1 is supported and this
extension is not, the samplerYcbcrConversion capability is optional.
The original type, enum, and command names are still available as
aliases of the core functionality.
Promotion to Vulkan 1.4
If Vulkan 1.4 is supported, support for the samplerYcbcrConversion
capability is required.
New Object Types
New Commands
New Structures
Extending BindImageMemoryInfo:
Extending ImageFormatProperties2:
Extending ImageMemoryRequirementsInfo2:
Extending PhysicalDeviceFeatures2, DeviceCreateInfo:
Extending SamplerCreateInfo, ImageViewCreateInfo:
New Enums
New Enum Constants
Extending ChromaLocation:
Extending Format:
Extending FormatFeatureFlagBits:
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
Extending ImageAspectFlagBits:
Extending ImageCreateFlagBits:
Extending ObjectType:
Extending SamplerYcbcrModelConversion:
Extending SamplerYcbcrRange:
Extending StructureType:
If VK_EXT_debug_report is supported:
Extending DebugReportObjectTypeEXT:
Version History
Revision 1, 2017-01-24 (Andrew Garrard)
Initial draft
Revision 2, 2017-01-25 (Andrew Garrard)
After initial feedback
Revision 3, 2017-01-27 (Andrew Garrard)
Higher bit depth formats, renaming, swizzle
Revision 4, 2017-02-22 (Andrew Garrard)
Added query function, formats as RGB, clarifications
Revision 5, 2017-04-?? (Andrew Garrard)
Simplified query and removed output conversions
Revision 6, 2017-04-24 (Andrew Garrard)
Tidying, incorporated new image query, restored transfer functions
Revision 7, 2017-04-25 (Andrew Garrard)
Added cosited option/midpoint requirement for formats, “bypassConversion”
Revision 8, 2017-04-25 (Andrew Garrard)
Simplified further
Revision 9, 2017-04-27 (Andrew Garrard)
Disjoint no more
Revision 10, 2017-04-28 (Andrew Garrard)
Restored disjoint
Revision 11, 2017-04-29 (Andrew Garrard)
Now Ycbcr conversion, and KHR
Revision 12, 2017-06-06 (Andrew Garrard)
Added conversion to image view creation
Revision 13, 2017-07-13 (Andrew Garrard)
Allowed cosited-only chroma samples for formats
Revision 14, 2017-08-11 (Andrew Garrard)
Reflected quantization changes in BT.2100-1
See Also
No cross-references are available
Document Notes
For more information, see the Vulkan Specification.
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Synopsis
- pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR
- pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR
- pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR
- pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR
- pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR
- pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR
- pattern OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR
- pattern FORMAT_G8B8G8R8_422_UNORM_KHR
- pattern FORMAT_B8G8R8G8_422_UNORM_KHR
- pattern FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR
- pattern FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR
- pattern FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR
- pattern FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR
- pattern FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR
- pattern FORMAT_R10X6_UNORM_PACK16_KHR
- pattern FORMAT_R10X6G10X6_UNORM_2PACK16_KHR
- pattern FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR
- pattern FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR
- pattern FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR
- pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR
- pattern FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR
- pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR
- pattern FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR
- pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR
- pattern FORMAT_R12X4_UNORM_PACK16_KHR
- pattern FORMAT_R12X4G12X4_UNORM_2PACK16_KHR
- pattern FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR
- pattern FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR
- pattern FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR
- pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR
- pattern FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR
- pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR
- pattern FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR
- pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR
- pattern FORMAT_G16B16G16R16_422_UNORM_KHR
- pattern FORMAT_B16G16R16G16_422_UNORM_KHR
- pattern FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR
- pattern FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR
- pattern FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR
- pattern FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR
- pattern FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR
- pattern IMAGE_ASPECT_PLANE_0_BIT_KHR
- pattern IMAGE_ASPECT_PLANE_1_BIT_KHR
- pattern IMAGE_ASPECT_PLANE_2_BIT_KHR
- pattern IMAGE_CREATE_DISJOINT_BIT_KHR
- pattern FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR
- pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
- pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
- pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
- pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
- pattern FORMAT_FEATURE_DISJOINT_BIT_KHR
- pattern FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR
- pattern SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR
- pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR
- pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR
- pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR
- pattern SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR
- pattern SAMPLER_YCBCR_RANGE_ITU_FULL_KHR
- pattern SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR
- pattern CHROMA_LOCATION_COSITED_EVEN_KHR
- pattern CHROMA_LOCATION_MIDPOINT_KHR
- pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT
- value createSamplerYcbcrConversionKHR
- value destroySamplerYcbcrConversionKHR
- type SamplerYcbcrConversionKHR
- type SamplerYcbcrModelConversionKHR
- type SamplerYcbcrRangeKHR
- type ChromaLocationKHR
- type SamplerYcbcrConversionInfoKHR
- type SamplerYcbcrConversionCreateInfoKHR
- type BindImagePlaneMemoryInfoKHR
- type ImagePlaneMemoryRequirementsInfoKHR
- type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR
- type SamplerYcbcrConversionImageFormatPropertiesKHR
- type KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION
- pattern KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION
- type KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME
- pattern KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME
- newtype DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT
- pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT
- Packagevulkan-3.27
- Exports120
- LanguageGHC2021
- LicenceBSD-3-Clause
- SourceVK_KHR_sampler_ycbcr_conversion.hs
VkDebugReportObjectTypeEXT - Specify the type of an object handle
Description
'
Vulkan Handle Type | |
|---|---|
Unknown/Undefined Handle | |
DebugReportObjectTypeEXT and Vulkan Handle Relationship
The primary expected use of ERROR_VALIDATION_FAILED_EXT is for validation layer testing to prevent invalid commands from reaching the ICD. It is not expected that an application would see this error code during normal use of the validation layers. If an application returns TRUE in DebugUtilsMessengerCallbackDataEXT, the validation layers will return this error code instead of passing the command down the dispatch chain.
See Also
PFN_vkDebugReportCallbackEXT, VK_EXT_debug_marker, VK_EXT_debug_report, DebugMarkerObjectNameInfoEXT, DebugMarkerObjectTagInfoEXT, debugReportMessageEXT
Constructors
Instances6Eq, Ord, Read, Show, Storable, Zero
Eq DebugReportObjectTypeEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_debug_reportOrd DebugReportObjectTypeEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_debug_reportRead DebugReportObjectTypeEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_debug_reportShow DebugReportObjectTypeEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_debug_reportStorable DebugReportObjectTypeEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_debug_reportZero DebugReportObjectTypeEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_debug_report