packages feed

vulkan-api-1.1.0.0: src-gen/Graphics/Vulkan/Ext/VK_KHR_sampler_ycbcr_conversion.hs

{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}
{-# OPTIONS_HADDOCK not-home#-}
{-# LANGUAGE DataKinds                #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE MagicHash                #-}
{-# LANGUAGE PatternSynonyms          #-}
{-# LANGUAGE Strict                   #-}
{-# LANGUAGE ViewPatterns             #-}
module Graphics.Vulkan.Ext.VK_KHR_sampler_ycbcr_conversion
       (-- * Vulkan extension: @VK_KHR_sampler_ycbcr_conversion@
        -- |
        --
        -- supported: @vulkan@
        --
        -- contact: @Andrew Garrard @fluppeteer@
        --
        -- author: @KHR@
        --
        -- type: @device@
        --
        -- Extension number: @157@
        --
        -- Required extensions: 'VK_KHR_maintenance1', 'VK_KHR_bind_memory2', 'VK_KHR_get_memory_requirements2', 'VK_KHR_get_physical_device_properties2'.
        --

        -- ** Required extensions: 'VK_KHR_maintenance1', 'VK_KHR_bind_memory2', 'VK_KHR_get_memory_requirements2', 'VK_KHR_get_physical_device_properties2'.
        module Graphics.Vulkan.Types.Struct.VkBindImagePlaneMemoryInfoKHR,
        module Graphics.Vulkan.Types.Enum.VkChromaLocationKHR,
        module Graphics.Vulkan.Types.Struct.VkImagePlaneMemoryRequirementsInfoKHR,
        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,
        module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfoKHR,
        module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionImageFormatPropertiesKHR,
        module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionInfoKHR,
        module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversionKHR,
        module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRangeKHR,
        vkCreateSamplerYcbcrConversionKHR,
        vkCreateSamplerYcbcrConversionKHRSafe,
        vkDestroySamplerYcbcrConversionKHR,
        vkDestroySamplerYcbcrConversionKHRSafe,
        module Graphics.Vulkan.Marshal,
        module Graphics.Vulkan.Types.BaseTypes,
        module Graphics.Vulkan.Types.Enum.VkChromaLocation,
        module Graphics.Vulkan.Types.Enum.VkComponentSwizzle,
        module Graphics.Vulkan.Types.Enum.VkFilter,
        module Graphics.Vulkan.Types.Enum.VkFormat,
        module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,
        module Graphics.Vulkan.Types.Enum.VkResult,
        module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion,
        module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange,
        module Graphics.Vulkan.Types.Enum.VkStructureType,
        module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,
        module Graphics.Vulkan.Types.Funcpointers,
        module Graphics.Vulkan.Types.Handles,
        module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,
        module Graphics.Vulkan.Types.Struct.VkComponentMapping,
        module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfo,
        VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION,
        pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION,
        VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME,
        pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME,
        pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR,
        pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR,
        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR,
        pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR,
        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR,
        pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR,
        pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT,
        pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR,
        pattern VK_FORMAT_G8B8G8R8_422_UNORM_KHR,
        pattern VK_FORMAT_B8G8R8G8_422_UNORM_KHR,
        pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR,
        pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR,
        pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR,
        pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR,
        pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR,
        pattern VK_FORMAT_R10X6_UNORM_PACK16_KHR,
        pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR,
        pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR,
        pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR,
        pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR,
        pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR,
        pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR,
        pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR,
        pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR,
        pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR,
        pattern VK_FORMAT_R12X4_UNORM_PACK16_KHR,
        pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR,
        pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR,
        pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR,
        pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR,
        pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR,
        pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR,
        pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR,
        pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR,
        pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR,
        pattern VK_FORMAT_G16B16G16R16_422_UNORM_KHR,
        pattern VK_FORMAT_B16G16R16G16_422_UNORM_KHR,
        pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR,
        pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR,
        pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR,
        pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR,
        pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR,
        pattern VK_IMAGE_ASPECT_PLANE_0_BIT_KHR,
        pattern VK_IMAGE_ASPECT_PLANE_1_BIT_KHR,
        pattern VK_IMAGE_ASPECT_PLANE_2_BIT_KHR,
        pattern VK_IMAGE_CREATE_DISJOINT_BIT_KHR,
        pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR,
        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR,
        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR,
        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR,
        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR,
        pattern VK_FORMAT_FEATURE_DISJOINT_BIT_KHR,
        pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR,
        pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR,
        pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR,
        pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR,
        pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR,
        pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR,
        pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR,
        pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR,
        pattern VK_CHROMA_LOCATION_COSITED_EVEN_KHR,
        pattern VK_CHROMA_LOCATION_MIDPOINT_KHR,
        -- ** Required extensions: 'VK_EXT_debug_report', 'VK_KHR_maintenance1', 'VK_KHR_bind_memory2', 'VK_KHR_get_memory_requirements2', 'VK_KHR_get_physical_device_properties2'.
        pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT)
       where
import           GHC.Ptr
                                                                                                 (Ptr (..))
import           Graphics.Vulkan.Core_1_1
                                                                                                 (pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
                                                                                                 pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
                                                                                                 pattern VK_FORMAT_B16G16R16G16_422_UNORM,
                                                                                                 pattern VK_FORMAT_B8G8R8G8_422_UNORM,
                                                                                                 pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
                                                                                                 pattern VK_FORMAT_FEATURE_DISJOINT_BIT,
                                                                                                 pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
                                                                                                 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
                                                                                                 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
                                                                                                 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
                                                                                                 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
                                                                                                 pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
                                                                                                 pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
                                                                                                 pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
                                                                                                 pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
                                                                                                 pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
                                                                                                 pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
                                                                                                 pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
                                                                                                 pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
                                                                                                 pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
                                                                                                 pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
                                                                                                 pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
                                                                                                 pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
                                                                                                 pattern VK_FORMAT_G16B16G16R16_422_UNORM,
                                                                                                 pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
                                                                                                 pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
                                                                                                 pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
                                                                                                 pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
                                                                                                 pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
                                                                                                 pattern VK_FORMAT_G8B8G8R8_422_UNORM,
                                                                                                 pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
                                                                                                 pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
                                                                                                 pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
                                                                                                 pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
                                                                                                 pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
                                                                                                 pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
                                                                                                 pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
                                                                                                 pattern VK_FORMAT_R10X6_UNORM_PACK16,
                                                                                                 pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
                                                                                                 pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
                                                                                                 pattern VK_FORMAT_R12X4_UNORM_PACK16,
                                                                                                 pattern VK_IMAGE_ASPECT_PLANE_0_BIT,
                                                                                                 pattern VK_IMAGE_ASPECT_PLANE_1_BIT,
                                                                                                 pattern VK_IMAGE_ASPECT_PLANE_2_BIT,
                                                                                                 pattern VK_IMAGE_CREATE_DISJOINT_BIT,
                                                                                                 pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
                                                                                                 pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
                                                                                                 pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
                                                                                                 pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
                                                                                                 pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
                                                                                                 pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
                                                                                                 pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO)
import           Graphics.Vulkan.Ext.VK_EXT_debug_report
                                                                                                 (pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT)
import           Graphics.Vulkan.Marshal
import           Graphics.Vulkan.Types.BaseTypes
import           Graphics.Vulkan.Types.Enum.VkChromaLocation
import           Graphics.Vulkan.Types.Enum.VkChromaLocationKHR
import           Graphics.Vulkan.Types.Enum.VkComponentSwizzle
import           Graphics.Vulkan.Types.Enum.VkFilter
import           Graphics.Vulkan.Types.Enum.VkFormat
import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType
import           Graphics.Vulkan.Types.Enum.VkResult
import           Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion
import           Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversionKHR
import           Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange
import           Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRangeKHR
import           Graphics.Vulkan.Types.Enum.VkStructureType
import           Graphics.Vulkan.Types.Enum.VkSystemAllocationScope
import           Graphics.Vulkan.Types.Funcpointers
import           Graphics.Vulkan.Types.Handles
import           Graphics.Vulkan.Types.Struct.VkAllocationCallbacks
import           Graphics.Vulkan.Types.Struct.VkBindImagePlaneMemoryInfoKHR
import           Graphics.Vulkan.Types.Struct.VkComponentMapping
import           Graphics.Vulkan.Types.Struct.VkImagePlaneMemoryRequirementsInfoKHR
import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR
import           Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfo
import           Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfoKHR
import           Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionImageFormatPropertiesKHR
import           Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionInfoKHR

-- | This is an alias for `vkCreateSamplerYcbcrConversion`.
--
--   Success codes: 'VK_SUCCESS'.
--
--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.
--
--   > VkResult vkCreateSamplerYcbcrConversionKHR
--   >     ( VkDevice device
--   >     , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo
--   >     , const VkAllocationCallbacks* pAllocator
--   >     , VkSamplerYcbcrConversion* pYcbcrConversion
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSamplerYcbcrConversionKHR.html vkCreateSamplerYcbcrConversionKHR registry at www.khronos.org>
foreign import ccall unsafe "vkCreateSamplerYcbcrConversion"
               vkCreateSamplerYcbcrConversionKHR ::
               VkDevice -- ^ device
                        ->
                 Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo
                                                        ->
                   Ptr VkAllocationCallbacks -- ^ pAllocator
                                             ->
                     Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion
                                                  -> IO VkResult

-- | This is an alias for `vkCreateSamplerYcbcrConversion`.
--
--   Success codes: 'VK_SUCCESS'.
--
--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.
--
--   > VkResult vkCreateSamplerYcbcrConversionKHR
--   >     ( VkDevice device
--   >     , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo
--   >     , const VkAllocationCallbacks* pAllocator
--   >     , VkSamplerYcbcrConversion* pYcbcrConversion
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSamplerYcbcrConversionKHR.html vkCreateSamplerYcbcrConversionKHR registry at www.khronos.org>
foreign import ccall safe "vkCreateSamplerYcbcrConversion"
               vkCreateSamplerYcbcrConversionKHRSafe ::
               VkDevice -- ^ device
                        ->
                 Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo
                                                        ->
                   Ptr VkAllocationCallbacks -- ^ pAllocator
                                             ->
                     Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion
                                                  -> IO VkResult

-- | This is an alias for `vkDestroySamplerYcbcrConversion`.
--
--   > () vkDestroySamplerYcbcrConversionKHR
--   >     ( VkDevice device
--   >     , VkSamplerYcbcrConversion ycbcrConversion
--   >     , const VkAllocationCallbacks* pAllocator
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySamplerYcbcrConversionKHR.html vkDestroySamplerYcbcrConversionKHR registry at www.khronos.org>
foreign import ccall unsafe "vkDestroySamplerYcbcrConversion"
               vkDestroySamplerYcbcrConversionKHR ::
               VkDevice -- ^ device
                        ->
                 VkSamplerYcbcrConversion -- ^ ycbcrConversion
                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator
                                                                       -> IO ()

-- | This is an alias for `vkDestroySamplerYcbcrConversion`.
--
--   > () vkDestroySamplerYcbcrConversionKHR
--   >     ( VkDevice device
--   >     , VkSamplerYcbcrConversion ycbcrConversion
--   >     , const VkAllocationCallbacks* pAllocator
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySamplerYcbcrConversionKHR.html vkDestroySamplerYcbcrConversionKHR registry at www.khronos.org>
foreign import ccall safe "vkDestroySamplerYcbcrConversion"
               vkDestroySamplerYcbcrConversionKHRSafe ::
               VkDevice -- ^ device
                        ->
                 VkSamplerYcbcrConversion -- ^ ycbcrConversion
                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator
                                                                       -> IO ()

pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION ::
        (Num a, Eq a) => a

pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION = 1

type VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION = 1

pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME :: CString

pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME <-
        (is_VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME -> True)
  where VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME
          = _VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME

{-# INLINE _VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME #-}

_VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME :: CString
_VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME
  = Ptr "VK_KHR_sampler_ycbcr_conversion\NUL"#

{-# INLINE is_VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME #-}

is_VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME ::
                                                  CString -> Bool
is_VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME
  = (EQ ==) .
      cmpCStrings _VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME

type VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME =
     "VK_KHR_sampler_ycbcr_conversion"

pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR
        = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO

pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR =
        VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO

pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR =
        VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO

pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR
        = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO

pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR
        =
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES

pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR
        =
        VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES

pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT
        = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT

pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR =
        VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION

pattern VK_FORMAT_G8B8G8R8_422_UNORM_KHR =
        VK_FORMAT_G8B8G8R8_422_UNORM

pattern VK_FORMAT_B8G8R8G8_422_UNORM_KHR =
        VK_FORMAT_B8G8R8G8_422_UNORM

pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR =
        VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM

pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR =
        VK_FORMAT_G8_B8R8_2PLANE_420_UNORM

pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR =
        VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM

pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR =
        VK_FORMAT_G8_B8R8_2PLANE_422_UNORM

pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR =
        VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM

pattern VK_FORMAT_R10X6_UNORM_PACK16_KHR =
        VK_FORMAT_R10X6_UNORM_PACK16

pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR =
        VK_FORMAT_R10X6G10X6_UNORM_2PACK16

pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR =
        VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16

pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR =
        VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16

pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR =
        VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16

pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR =
        VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16

pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR =
        VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16

pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR =
        VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16

pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR =
        VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16

pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR =
        VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16

pattern VK_FORMAT_R12X4_UNORM_PACK16_KHR =
        VK_FORMAT_R12X4_UNORM_PACK16

pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR =
        VK_FORMAT_R12X4G12X4_UNORM_2PACK16

pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR =
        VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16

pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR =
        VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16

pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR =
        VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16

pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR =
        VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16

pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR =
        VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16

pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR =
        VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16

pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR =
        VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16

pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR =
        VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16

pattern VK_FORMAT_G16B16G16R16_422_UNORM_KHR =
        VK_FORMAT_G16B16G16R16_422_UNORM

pattern VK_FORMAT_B16G16R16G16_422_UNORM_KHR =
        VK_FORMAT_B16G16R16G16_422_UNORM

pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR =
        VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM

pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR =
        VK_FORMAT_G16_B16R16_2PLANE_420_UNORM

pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR =
        VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM

pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR =
        VK_FORMAT_G16_B16R16_2PLANE_422_UNORM

pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR =
        VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM

pattern VK_IMAGE_ASPECT_PLANE_0_BIT_KHR =
        VK_IMAGE_ASPECT_PLANE_0_BIT

pattern VK_IMAGE_ASPECT_PLANE_1_BIT_KHR =
        VK_IMAGE_ASPECT_PLANE_1_BIT

pattern VK_IMAGE_ASPECT_PLANE_2_BIT_KHR =
        VK_IMAGE_ASPECT_PLANE_2_BIT

pattern VK_IMAGE_CREATE_DISJOINT_BIT_KHR =
        VK_IMAGE_CREATE_DISJOINT_BIT

pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR =
        VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT

pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
        =
        VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT

pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
        =
        VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT

pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
        =
        VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT

pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
        =
        VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT

pattern VK_FORMAT_FEATURE_DISJOINT_BIT_KHR =
        VK_FORMAT_FEATURE_DISJOINT_BIT

pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR =
        VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT

pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR =
        VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY

pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR =
        VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY

pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR =
        VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709

pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR =
        VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601

pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR =
        VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020

pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR =
        VK_SAMPLER_YCBCR_RANGE_ITU_FULL

pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR =
        VK_SAMPLER_YCBCR_RANGE_ITU_NARROW

pattern VK_CHROMA_LOCATION_COSITED_EVEN_KHR =
        VK_CHROMA_LOCATION_COSITED_EVEN

pattern VK_CHROMA_LOCATION_MIDPOINT_KHR =
        VK_CHROMA_LOCATION_MIDPOINT