157 lines
6.4 KiB
Plaintext
157 lines
6.4 KiB
Plaintext
// Copyright (c) 2017-2019 Khronos Group. This work is licensed under a
|
|
// Creative Commons Attribution 4.0 International License; see
|
|
// http://creativecommons.org/licenses/by/4.0/
|
|
|
|
include::meta/VK_KHR_sampler_ycbcr_conversion.txt[]
|
|
|
|
*Last Modified Date*::
|
|
2017-08-11
|
|
*IP Status*::
|
|
No known IP claims.
|
|
*Interactions and External Dependencies*::
|
|
- Promoted to Vulkan 1.1 Core
|
|
- This extension interacts with `<<VK_EXT_debug_report>>`
|
|
*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
|
|
|
|
This extension provides the ability to perform specified color space
|
|
conversions during texture sampling operations.
|
|
It also adds a selection of multi-planar formats, including the ability to
|
|
bind memory to the planes of an image collectively or separately.
|
|
|
|
=== New Enum Constants
|
|
|
|
* Extending elink:VkStructureType:
|
|
** ename:VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR
|
|
** ename:VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR
|
|
** ename:VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR
|
|
** ename:VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR
|
|
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR
|
|
* Extending elink:VkFormat:
|
|
** ename:VK_FORMAT_G8B8G8R8_422_UNORM_KHR
|
|
** ename:VK_FORMAT_B8G8R8G8_422_UNORM_KHR
|
|
** ename:VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR
|
|
** ename:VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR
|
|
** ename:VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR
|
|
** ename:VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR
|
|
** ename:VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR
|
|
** ename:VK_FORMAT_R10X6_UNORM_PACK16_KHR
|
|
** ename:VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR
|
|
** ename:VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR
|
|
** ename:VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR
|
|
** ename:VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR
|
|
** ename:VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR
|
|
** ename:VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR
|
|
** ename:VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR
|
|
** ename:VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR
|
|
** ename:VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR
|
|
** ename:VK_FORMAT_R12X4_UNORM_PACK16_KHR
|
|
** ename:VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR
|
|
** ename:VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR
|
|
** ename:VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR
|
|
** ename:VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR
|
|
** ename:VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR
|
|
** ename:VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR
|
|
** ename:VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR
|
|
** ename:VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR
|
|
** ename:VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR
|
|
** ename:VK_FORMAT_G16B16G16R16_422_UNORM_KHR
|
|
** ename:VK_FORMAT_B16G16R16G16_422_UNORM_KHR
|
|
** ename:VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR
|
|
** ename:VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR
|
|
** ename:VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR
|
|
** ename:VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR
|
|
** ename:VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR
|
|
* Extending elink:VkImageAspectFlagBits:
|
|
** ename:VK_IMAGE_ASPECT_PLANE_0_BIT_KHR
|
|
** ename:VK_IMAGE_ASPECT_PLANE_1_BIT_KHR
|
|
** ename:VK_IMAGE_ASPECT_PLANE_2_BIT_KHR
|
|
* Extending elink:VkImageCreateFlagBits:
|
|
** ename:VK_IMAGE_CREATE_DISJOINT_BIT_KHR
|
|
* Extending elink:VkFormatFeatureFlagBits:
|
|
** ename:VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR
|
|
** ename:VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR
|
|
** ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
|
|
** ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
|
|
** ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
|
|
** ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
|
|
** ename:VK_FORMAT_FEATURE_DISJOINT_BIT_KHR
|
|
|
|
=== New Enums
|
|
|
|
* elink:VkSamplerYcbcrModelConversionKHR
|
|
* elink:VkSamplerYcbcrRangeKHR
|
|
* elink:VkChromaLocationKHR
|
|
|
|
=== New Structures
|
|
|
|
* slink:VkSamplerYcbcrConversionInfoKHR
|
|
* slink:VkSamplerYcbcrConversionCreateInfoKHR
|
|
* slink:VkBindImagePlaneMemoryInfoKHR
|
|
* slink:VkImagePlaneMemoryRequirementsInfoKHR
|
|
* slink:VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR
|
|
* slink:VkSamplerYcbcrConversionImageFormatPropertiesKHR
|
|
|
|
=== New Functions
|
|
|
|
* flink:vkCreateSamplerYcbcrConversionKHR
|
|
* flink:vkDestroySamplerYcbcrConversionKHR
|
|
|
|
=== New Objects
|
|
|
|
* slink:VkSamplerYcbcrConversionKHR
|
|
|
|
=== Promotion to Vulkan 1.1
|
|
|
|
All functionality in this extension is included in core Vulkan 1.1, with the
|
|
KHR suffix omitted.
|
|
The original type, enum and command names are still available as aliases of
|
|
the core functionality.
|
|
|
|
=== 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
|
|
* Version 6, 2017-4-24 (Andrew Garrard)
|
|
- Tidying, incorporated new image query, restored transfer functions
|
|
* Version 7, 2017-04-25 (Andrew Garrard)
|
|
- Added cosited option/midpoint requirement for formats,
|
|
"bypassConversion"
|
|
* Version 8, 2017-04-25 (Andrew Garrard)
|
|
- Simplified further
|
|
* Version 9, 2017-04-27 (Andrew Garrard)
|
|
- Disjoint no more
|
|
* Version 10, 2017-04-28 (Andrew Garrard)
|
|
- Restored disjoint
|
|
* Version 11, 2017-04-29 (Andrew Garrard)
|
|
- Now Ycbcr conversion, and KHR
|
|
* Version 12, 2017-06-06 (Andrew Garrard)
|
|
- Added conversion to image view creation
|
|
* Version 13, 2017-07-13 (Andrew Garrard)
|
|
- Allowed cosited-only chroma samples for formats
|
|
* Version 14, 2017-08-11 (Andrew Garrard)
|
|
- Reflected quantization changes in BT.2100-1
|