HORIZON HASKELLDocslts/ghc-9.14.x45dd5372026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 45dd537 · 2026-10-11

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_maintenance1      and

VK_KHR_bind_memory2      and

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
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

New Enums

New Enum Constants

If VK_EXT_debug_report is supported:

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.

  • 13 types
  • 2 values
  • Packagevulkan-3.27
  • Exports120
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceVK_KHR_sampler_ycbcr_conversion.hs
newtypenewtype DebugReportObjectTypeEXT
#

VkDebugReportObjectTypeEXT - Specify the type of an object handle

Description

'

DebugReportObjectTypeEXT

Vulkan Handle Type

DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT

Unknown/Undefined Handle

DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT

Instance

DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT

PhysicalDevice

DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT

Device

DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT

Queue

DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT

Semaphore

DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT

CommandBuffer

DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT

Fence

DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT

DeviceMemory

DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT

Buffer

DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT

Image

DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT

Event

DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT

QueryPool

DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT

BufferView

DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT

ImageView

DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT

ShaderModule

DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT

PipelineCache

DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT

PipelineLayout

DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT

RenderPass

DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT

Pipeline

DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT

DescriptorSetLayout

DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT

Sampler

DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT

DescriptorPool

DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT

DescriptorSet

DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT

Framebuffer

DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT

CommandPool

DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT

SurfaceKHR

DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT

SwapchainKHR

DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT

DebugReportCallbackEXT

DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT

DisplayKHR

DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT

DisplayModeKHR

DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT

DescriptorUpdateTemplate

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

Instances6Eq, Ord, Read, Show, Storable, Zero