{-# language CPP #-}
-- No documentation found for Chapter "Format"
module Vulkan.Core10.Enums.Format  (Format( FORMAT_UNDEFINED
                                          , FORMAT_R4G4_UNORM_PACK8
                                          , FORMAT_R4G4B4A4_UNORM_PACK16
                                          , FORMAT_B4G4R4A4_UNORM_PACK16
                                          , FORMAT_R5G6B5_UNORM_PACK16
                                          , FORMAT_B5G6R5_UNORM_PACK16
                                          , FORMAT_R5G5B5A1_UNORM_PACK16
                                          , FORMAT_B5G5R5A1_UNORM_PACK16
                                          , FORMAT_A1R5G5B5_UNORM_PACK16
                                          , FORMAT_R8_UNORM
                                          , FORMAT_R8_SNORM
                                          , FORMAT_R8_USCALED
                                          , FORMAT_R8_SSCALED
                                          , FORMAT_R8_UINT
                                          , FORMAT_R8_SINT
                                          , FORMAT_R8_SRGB
                                          , FORMAT_R8G8_UNORM
                                          , FORMAT_R8G8_SNORM
                                          , FORMAT_R8G8_USCALED
                                          , FORMAT_R8G8_SSCALED
                                          , FORMAT_R8G8_UINT
                                          , FORMAT_R8G8_SINT
                                          , FORMAT_R8G8_SRGB
                                          , FORMAT_R8G8B8_UNORM
                                          , FORMAT_R8G8B8_SNORM
                                          , FORMAT_R8G8B8_USCALED
                                          , FORMAT_R8G8B8_SSCALED
                                          , FORMAT_R8G8B8_UINT
                                          , FORMAT_R8G8B8_SINT
                                          , FORMAT_R8G8B8_SRGB
                                          , FORMAT_B8G8R8_UNORM
                                          , FORMAT_B8G8R8_SNORM
                                          , FORMAT_B8G8R8_USCALED
                                          , FORMAT_B8G8R8_SSCALED
                                          , FORMAT_B8G8R8_UINT
                                          , FORMAT_B8G8R8_SINT
                                          , FORMAT_B8G8R8_SRGB
                                          , FORMAT_R8G8B8A8_UNORM
                                          , FORMAT_R8G8B8A8_SNORM
                                          , FORMAT_R8G8B8A8_USCALED
                                          , FORMAT_R8G8B8A8_SSCALED
                                          , FORMAT_R8G8B8A8_UINT
                                          , FORMAT_R8G8B8A8_SINT
                                          , FORMAT_R8G8B8A8_SRGB
                                          , FORMAT_B8G8R8A8_UNORM
                                          , FORMAT_B8G8R8A8_SNORM
                                          , FORMAT_B8G8R8A8_USCALED
                                          , FORMAT_B8G8R8A8_SSCALED
                                          , FORMAT_B8G8R8A8_UINT
                                          , FORMAT_B8G8R8A8_SINT
                                          , FORMAT_B8G8R8A8_SRGB
                                          , FORMAT_A8B8G8R8_UNORM_PACK32
                                          , FORMAT_A8B8G8R8_SNORM_PACK32
                                          , FORMAT_A8B8G8R8_USCALED_PACK32
                                          , FORMAT_A8B8G8R8_SSCALED_PACK32
                                          , FORMAT_A8B8G8R8_UINT_PACK32
                                          , FORMAT_A8B8G8R8_SINT_PACK32
                                          , FORMAT_A8B8G8R8_SRGB_PACK32
                                          , FORMAT_A2R10G10B10_UNORM_PACK32
                                          , FORMAT_A2R10G10B10_SNORM_PACK32
                                          , FORMAT_A2R10G10B10_USCALED_PACK32
                                          , FORMAT_A2R10G10B10_SSCALED_PACK32
                                          , FORMAT_A2R10G10B10_UINT_PACK32
                                          , FORMAT_A2R10G10B10_SINT_PACK32
                                          , FORMAT_A2B10G10R10_UNORM_PACK32
                                          , FORMAT_A2B10G10R10_SNORM_PACK32
                                          , FORMAT_A2B10G10R10_USCALED_PACK32
                                          , FORMAT_A2B10G10R10_SSCALED_PACK32
                                          , FORMAT_A2B10G10R10_UINT_PACK32
                                          , FORMAT_A2B10G10R10_SINT_PACK32
                                          , FORMAT_R16_UNORM
                                          , FORMAT_R16_SNORM
                                          , FORMAT_R16_USCALED
                                          , FORMAT_R16_SSCALED
                                          , FORMAT_R16_UINT
                                          , FORMAT_R16_SINT
                                          , FORMAT_R16_SFLOAT
                                          , FORMAT_R16G16_UNORM
                                          , FORMAT_R16G16_SNORM
                                          , FORMAT_R16G16_USCALED
                                          , FORMAT_R16G16_SSCALED
                                          , FORMAT_R16G16_UINT
                                          , FORMAT_R16G16_SINT
                                          , FORMAT_R16G16_SFLOAT
                                          , FORMAT_R16G16B16_UNORM
                                          , FORMAT_R16G16B16_SNORM
                                          , FORMAT_R16G16B16_USCALED
                                          , FORMAT_R16G16B16_SSCALED
                                          , FORMAT_R16G16B16_UINT
                                          , FORMAT_R16G16B16_SINT
                                          , FORMAT_R16G16B16_SFLOAT
                                          , FORMAT_R16G16B16A16_UNORM
                                          , FORMAT_R16G16B16A16_SNORM
                                          , FORMAT_R16G16B16A16_USCALED
                                          , FORMAT_R16G16B16A16_SSCALED
                                          , FORMAT_R16G16B16A16_UINT
                                          , FORMAT_R16G16B16A16_SINT
                                          , FORMAT_R16G16B16A16_SFLOAT
                                          , FORMAT_R32_UINT
                                          , FORMAT_R32_SINT
                                          , FORMAT_R32_SFLOAT
                                          , FORMAT_R32G32_UINT
                                          , FORMAT_R32G32_SINT
                                          , FORMAT_R32G32_SFLOAT
                                          , FORMAT_R32G32B32_UINT
                                          , FORMAT_R32G32B32_SINT
                                          , FORMAT_R32G32B32_SFLOAT
                                          , FORMAT_R32G32B32A32_UINT
                                          , FORMAT_R32G32B32A32_SINT
                                          , FORMAT_R32G32B32A32_SFLOAT
                                          , FORMAT_R64_UINT
                                          , FORMAT_R64_SINT
                                          , FORMAT_R64_SFLOAT
                                          , FORMAT_R64G64_UINT
                                          , FORMAT_R64G64_SINT
                                          , FORMAT_R64G64_SFLOAT
                                          , FORMAT_R64G64B64_UINT
                                          , FORMAT_R64G64B64_SINT
                                          , FORMAT_R64G64B64_SFLOAT
                                          , FORMAT_R64G64B64A64_UINT
                                          , FORMAT_R64G64B64A64_SINT
                                          , FORMAT_R64G64B64A64_SFLOAT
                                          , FORMAT_B10G11R11_UFLOAT_PACK32
                                          , FORMAT_E5B9G9R9_UFLOAT_PACK32
                                          , FORMAT_D16_UNORM
                                          , FORMAT_X8_D24_UNORM_PACK32
                                          , FORMAT_D32_SFLOAT
                                          , FORMAT_S8_UINT
                                          , FORMAT_D16_UNORM_S8_UINT
                                          , FORMAT_D24_UNORM_S8_UINT
                                          , FORMAT_D32_SFLOAT_S8_UINT
                                          , FORMAT_BC1_RGB_UNORM_BLOCK
                                          , FORMAT_BC1_RGB_SRGB_BLOCK
                                          , FORMAT_BC1_RGBA_UNORM_BLOCK
                                          , FORMAT_BC1_RGBA_SRGB_BLOCK
                                          , FORMAT_BC2_UNORM_BLOCK
                                          , FORMAT_BC2_SRGB_BLOCK
                                          , FORMAT_BC3_UNORM_BLOCK
                                          , FORMAT_BC3_SRGB_BLOCK
                                          , FORMAT_BC4_UNORM_BLOCK
                                          , FORMAT_BC4_SNORM_BLOCK
                                          , FORMAT_BC5_UNORM_BLOCK
                                          , FORMAT_BC5_SNORM_BLOCK
                                          , FORMAT_BC6H_UFLOAT_BLOCK
                                          , FORMAT_BC6H_SFLOAT_BLOCK
                                          , FORMAT_BC7_UNORM_BLOCK
                                          , FORMAT_BC7_SRGB_BLOCK
                                          , FORMAT_ETC2_R8G8B8_UNORM_BLOCK
                                          , FORMAT_ETC2_R8G8B8_SRGB_BLOCK
                                          , FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK
                                          , FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK
                                          , FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK
                                          , FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK
                                          , FORMAT_EAC_R11_UNORM_BLOCK
                                          , FORMAT_EAC_R11_SNORM_BLOCK
                                          , FORMAT_EAC_R11G11_UNORM_BLOCK
                                          , FORMAT_EAC_R11G11_SNORM_BLOCK
                                          , FORMAT_ASTC_4x4_UNORM_BLOCK
                                          , FORMAT_ASTC_4x4_SRGB_BLOCK
                                          , FORMAT_ASTC_5x4_UNORM_BLOCK
                                          , FORMAT_ASTC_5x4_SRGB_BLOCK
                                          , FORMAT_ASTC_5x5_UNORM_BLOCK
                                          , FORMAT_ASTC_5x5_SRGB_BLOCK
                                          , FORMAT_ASTC_6x5_UNORM_BLOCK
                                          , FORMAT_ASTC_6x5_SRGB_BLOCK
                                          , FORMAT_ASTC_6x6_UNORM_BLOCK
                                          , FORMAT_ASTC_6x6_SRGB_BLOCK
                                          , FORMAT_ASTC_8x5_UNORM_BLOCK
                                          , FORMAT_ASTC_8x5_SRGB_BLOCK
                                          , FORMAT_ASTC_8x6_UNORM_BLOCK
                                          , FORMAT_ASTC_8x6_SRGB_BLOCK
                                          , FORMAT_ASTC_8x8_UNORM_BLOCK
                                          , FORMAT_ASTC_8x8_SRGB_BLOCK
                                          , FORMAT_ASTC_10x5_UNORM_BLOCK
                                          , FORMAT_ASTC_10x5_SRGB_BLOCK
                                          , FORMAT_ASTC_10x6_UNORM_BLOCK
                                          , FORMAT_ASTC_10x6_SRGB_BLOCK
                                          , FORMAT_ASTC_10x8_UNORM_BLOCK
                                          , FORMAT_ASTC_10x8_SRGB_BLOCK
                                          , FORMAT_ASTC_10x10_UNORM_BLOCK
                                          , FORMAT_ASTC_10x10_SRGB_BLOCK
                                          , FORMAT_ASTC_12x10_UNORM_BLOCK
                                          , FORMAT_ASTC_12x10_SRGB_BLOCK
                                          , FORMAT_ASTC_12x12_UNORM_BLOCK
                                          , FORMAT_ASTC_12x12_SRGB_BLOCK
                                          , FORMAT_A8_UNORM_KHR
                                          , FORMAT_A1B5G5R5_UNORM_PACK16_KHR
                                          , FORMAT_R16G16_S10_5_NV
                                          , FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG
                                          , FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG
                                          , FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG
                                          , FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG
                                          , FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG
                                          , FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG
                                          , FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG
                                          , FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG
                                          , FORMAT_ASTC_12x12_SFLOAT_BLOCK
                                          , FORMAT_ASTC_12x10_SFLOAT_BLOCK
                                          , FORMAT_ASTC_10x10_SFLOAT_BLOCK
                                          , FORMAT_ASTC_10x8_SFLOAT_BLOCK
                                          , FORMAT_ASTC_10x6_SFLOAT_BLOCK
                                          , FORMAT_ASTC_10x5_SFLOAT_BLOCK
                                          , FORMAT_ASTC_8x8_SFLOAT_BLOCK
                                          , FORMAT_ASTC_8x6_SFLOAT_BLOCK
                                          , FORMAT_ASTC_8x5_SFLOAT_BLOCK
                                          , FORMAT_ASTC_6x6_SFLOAT_BLOCK
                                          , FORMAT_ASTC_6x5_SFLOAT_BLOCK
                                          , FORMAT_ASTC_5x5_SFLOAT_BLOCK
                                          , FORMAT_ASTC_5x4_SFLOAT_BLOCK
                                          , FORMAT_ASTC_4x4_SFLOAT_BLOCK
                                          , FORMAT_A4B4G4R4_UNORM_PACK16
                                          , FORMAT_A4R4G4B4_UNORM_PACK16
                                          , FORMAT_G16_B16R16_2PLANE_444_UNORM
                                          , FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16
                                          , FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16
                                          , FORMAT_G8_B8R8_2PLANE_444_UNORM
                                          , FORMAT_G16_B16_R16_3PLANE_444_UNORM
                                          , FORMAT_G16_B16R16_2PLANE_422_UNORM
                                          , FORMAT_G16_B16_R16_3PLANE_422_UNORM
                                          , FORMAT_G16_B16R16_2PLANE_420_UNORM
                                          , FORMAT_G16_B16_R16_3PLANE_420_UNORM
                                          , FORMAT_B16G16R16G16_422_UNORM
                                          , FORMAT_G16B16G16R16_422_UNORM
                                          , FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16
                                          , FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16
                                          , FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16
                                          , FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16
                                          , FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16
                                          , FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16
                                          , FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16
                                          , FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16
                                          , FORMAT_R12X4G12X4_UNORM_2PACK16
                                          , FORMAT_R12X4_UNORM_PACK16
                                          , FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16
                                          , FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
                                          , FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16
                                          , FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
                                          , FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16
                                          , FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
                                          , FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
                                          , FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16
                                          , FORMAT_R10X6G10X6_UNORM_2PACK16
                                          , FORMAT_R10X6_UNORM_PACK16
                                          , FORMAT_G8_B8_R8_3PLANE_444_UNORM
                                          , FORMAT_G8_B8R8_2PLANE_422_UNORM
                                          , FORMAT_G8_B8_R8_3PLANE_422_UNORM
                                          , FORMAT_G8_B8R8_2PLANE_420_UNORM
                                          , FORMAT_G8_B8_R8_3PLANE_420_UNORM
                                          , FORMAT_B8G8R8G8_422_UNORM
                                          , FORMAT_G8B8G8R8_422_UNORM
                                          , ..
                                          )) where

import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showsPrec)
import Vulkan.Zero (Zero)
import Foreign.Storable (Storable)
import Data.Int (Int32)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))

-- | VkFormat - Available image formats
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryTrianglesDataKHR',
-- 'Vulkan.Extensions.VK_NV_displacement_micromap.AccelerationStructureTrianglesDisplacementMicromapNV',
-- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatProperties2ANDROID',
-- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatPropertiesANDROID',
-- 'Vulkan.Extensions.VK_ANDROID_external_format_resolve.AndroidHardwareBufferFormatResolvePropertiesANDROID',
-- 'Vulkan.Core10.Pass.AttachmentDescription',
-- 'Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentDescription2',
-- 'Vulkan.Core10.BufferView.BufferViewCreateInfo',
-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.CommandBufferInheritanceRenderingInfo',
-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorAddressInfoEXT',
-- 'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.FramebufferAttachmentImageInfo',
-- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV',
-- 'Vulkan.Core10.Image.ImageCreateInfo',
-- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo',
-- 'Vulkan.Extensions.VK_EXT_astc_decode_mode.ImageViewASTCDecodeModeEXT',
-- 'Vulkan.Core10.ImageView.ImageViewCreateInfo',
-- 'Vulkan.Extensions.VK_NV_optical_flow.OpticalFlowImageFormatPropertiesNV',
-- 'Vulkan.Extensions.VK_NV_optical_flow.OpticalFlowSessionCreateInfoNV',
-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceImageFormatInfo2',
-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceSparseImageFormatInfo2',
-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo',
-- 'Vulkan.Extensions.VK_KHR_maintenance5.RenderingAreaInfoKHR',
-- 'Vulkan.Extensions.VK_EXT_custom_border_color.SamplerCustomBorderColorCreateInfoEXT',
-- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo',
-- 'Vulkan.Extensions.VK_QNX_external_memory_screen_buffer.ScreenBufferFormatPropertiesQNX',
-- 'Vulkan.Extensions.VK_KHR_surface.SurfaceFormatKHR',
-- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR',
-- 'Vulkan.Core10.Pipeline.VertexInputAttributeDescription',
-- 'Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.VertexInputAttributeDescription2EXT',
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoFormatPropertiesKHR VkVideoFormatPropertiesKHR>,
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>,
-- 'Vulkan.Extensions.VK_NV_external_memory_capabilities.getPhysicalDeviceExternalImageFormatPropertiesNV',
-- 'Vulkan.Core10.DeviceInitialization.getPhysicalDeviceFormatProperties',
-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFormatProperties2',
-- 'Vulkan.Extensions.VK_KHR_get_physical_device_properties2.getPhysicalDeviceFormatProperties2KHR',
-- 'Vulkan.Core10.DeviceInitialization.getPhysicalDeviceImageFormatProperties',
-- 'Vulkan.Core10.SparseResourceMemoryManagement.getPhysicalDeviceSparseImageFormatProperties'
newtype Format = Format Int32
  deriving newtype (Format -> Format -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Format -> Format -> Bool
$c/= :: Format -> Format -> Bool
== :: Format -> Format -> Bool
$c== :: Format -> Format -> Bool
Eq, Eq Format
Format -> Format -> Bool
Format -> Format -> Ordering
Format -> Format -> Format
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Format -> Format -> Format
$cmin :: Format -> Format -> Format
max :: Format -> Format -> Format
$cmax :: Format -> Format -> Format
>= :: Format -> Format -> Bool
$c>= :: Format -> Format -> Bool
> :: Format -> Format -> Bool
$c> :: Format -> Format -> Bool
<= :: Format -> Format -> Bool
$c<= :: Format -> Format -> Bool
< :: Format -> Format -> Bool
$c< :: Format -> Format -> Bool
compare :: Format -> Format -> Ordering
$ccompare :: Format -> Format -> Ordering
Ord, Ptr Format -> IO Format
Ptr Format -> Int -> IO Format
Ptr Format -> Int -> Format -> IO ()
Ptr Format -> Format -> IO ()
Format -> Int
forall b. Ptr b -> Int -> IO Format
forall b. Ptr b -> Int -> Format -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr Format -> Format -> IO ()
$cpoke :: Ptr Format -> Format -> IO ()
peek :: Ptr Format -> IO Format
$cpeek :: Ptr Format -> IO Format
pokeByteOff :: forall b. Ptr b -> Int -> Format -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> Format -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO Format
$cpeekByteOff :: forall b. Ptr b -> Int -> IO Format
pokeElemOff :: Ptr Format -> Int -> Format -> IO ()
$cpokeElemOff :: Ptr Format -> Int -> Format -> IO ()
peekElemOff :: Ptr Format -> Int -> IO Format
$cpeekElemOff :: Ptr Format -> Int -> IO Format
alignment :: Format -> Int
$calignment :: Format -> Int
sizeOf :: Format -> Int
$csizeOf :: Format -> Int
Storable, Format
forall a. a -> Zero a
zero :: Format
$czero :: Format
Zero)

-- | 'FORMAT_UNDEFINED' specifies that the format is not specified.
pattern $bFORMAT_UNDEFINED :: Format
$mFORMAT_UNDEFINED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_UNDEFINED = Format 0

-- | 'FORMAT_R4G4_UNORM_PACK8' specifies a two-component, 8-bit packed
-- unsigned normalized format that has a 4-bit R component in bits 4..7,
-- and a 4-bit G component in bits 0..3.
pattern $bFORMAT_R4G4_UNORM_PACK8 :: Format
$mFORMAT_R4G4_UNORM_PACK8 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R4G4_UNORM_PACK8 = Format 1

-- | 'FORMAT_R4G4B4A4_UNORM_PACK16' specifies a four-component, 16-bit packed
-- unsigned normalized format that has a 4-bit R component in bits 12..15,
-- a 4-bit G component in bits 8..11, a 4-bit B component in bits 4..7, and
-- a 4-bit A component in bits 0..3.
pattern $bFORMAT_R4G4B4A4_UNORM_PACK16 :: Format
$mFORMAT_R4G4B4A4_UNORM_PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R4G4B4A4_UNORM_PACK16 = Format 2

-- | 'FORMAT_B4G4R4A4_UNORM_PACK16' specifies a four-component, 16-bit packed
-- unsigned normalized format that has a 4-bit B component in bits 12..15,
-- a 4-bit G component in bits 8..11, a 4-bit R component in bits 4..7, and
-- a 4-bit A component in bits 0..3.
pattern $bFORMAT_B4G4R4A4_UNORM_PACK16 :: Format
$mFORMAT_B4G4R4A4_UNORM_PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B4G4R4A4_UNORM_PACK16 = Format 3

-- | 'FORMAT_R5G6B5_UNORM_PACK16' specifies a three-component, 16-bit packed
-- unsigned normalized format that has a 5-bit R component in bits 11..15,
-- a 6-bit G component in bits 5..10, and a 5-bit B component in bits 0..4.
pattern $bFORMAT_R5G6B5_UNORM_PACK16 :: Format
$mFORMAT_R5G6B5_UNORM_PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R5G6B5_UNORM_PACK16 = Format 4

-- | 'FORMAT_B5G6R5_UNORM_PACK16' specifies a three-component, 16-bit packed
-- unsigned normalized format that has a 5-bit B component in bits 11..15,
-- a 6-bit G component in bits 5..10, and a 5-bit R component in bits 0..4.
pattern $bFORMAT_B5G6R5_UNORM_PACK16 :: Format
$mFORMAT_B5G6R5_UNORM_PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B5G6R5_UNORM_PACK16 = Format 5

-- | 'FORMAT_R5G5B5A1_UNORM_PACK16' specifies a four-component, 16-bit packed
-- unsigned normalized format that has a 5-bit R component in bits 11..15,
-- a 5-bit G component in bits 6..10, a 5-bit B component in bits 1..5, and
-- a 1-bit A component in bit 0.
pattern $bFORMAT_R5G5B5A1_UNORM_PACK16 :: Format
$mFORMAT_R5G5B5A1_UNORM_PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R5G5B5A1_UNORM_PACK16 = Format 6

-- | 'FORMAT_B5G5R5A1_UNORM_PACK16' specifies a four-component, 16-bit packed
-- unsigned normalized format that has a 5-bit B component in bits 11..15,
-- a 5-bit G component in bits 6..10, a 5-bit R component in bits 1..5, and
-- a 1-bit A component in bit 0.
pattern $bFORMAT_B5G5R5A1_UNORM_PACK16 :: Format
$mFORMAT_B5G5R5A1_UNORM_PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B5G5R5A1_UNORM_PACK16 = Format 7

-- | 'FORMAT_A1R5G5B5_UNORM_PACK16' specifies a four-component, 16-bit packed
-- unsigned normalized format that has a 1-bit A component in bit 15, a
-- 5-bit R component in bits 10..14, a 5-bit G component in bits 5..9, and
-- a 5-bit B component in bits 0..4.
pattern $bFORMAT_A1R5G5B5_UNORM_PACK16 :: Format
$mFORMAT_A1R5G5B5_UNORM_PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A1R5G5B5_UNORM_PACK16 = Format 8

-- | 'FORMAT_R8_UNORM' specifies a one-component, 8-bit unsigned normalized
-- format that has a single 8-bit R component.
pattern $bFORMAT_R8_UNORM :: Format
$mFORMAT_R8_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8_UNORM = Format 9

-- | 'FORMAT_R8_SNORM' specifies a one-component, 8-bit signed normalized
-- format that has a single 8-bit R component.
pattern $bFORMAT_R8_SNORM :: Format
$mFORMAT_R8_SNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8_SNORM = Format 10

-- | 'FORMAT_R8_USCALED' specifies a one-component, 8-bit unsigned scaled
-- integer format that has a single 8-bit R component.
pattern $bFORMAT_R8_USCALED :: Format
$mFORMAT_R8_USCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8_USCALED = Format 11

-- | 'FORMAT_R8_SSCALED' specifies a one-component, 8-bit signed scaled
-- integer format that has a single 8-bit R component.
pattern $bFORMAT_R8_SSCALED :: Format
$mFORMAT_R8_SSCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8_SSCALED = Format 12

-- | 'FORMAT_R8_UINT' specifies a one-component, 8-bit unsigned integer
-- format that has a single 8-bit R component.
pattern $bFORMAT_R8_UINT :: Format
$mFORMAT_R8_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8_UINT = Format 13

-- | 'FORMAT_R8_SINT' specifies a one-component, 8-bit signed integer format
-- that has a single 8-bit R component.
pattern $bFORMAT_R8_SINT :: Format
$mFORMAT_R8_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8_SINT = Format 14

-- | 'FORMAT_R8_SRGB' specifies a one-component, 8-bit unsigned normalized
-- format that has a single 8-bit R component stored with sRGB nonlinear
-- encoding.
pattern $bFORMAT_R8_SRGB :: Format
$mFORMAT_R8_SRGB :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8_SRGB = Format 15

-- | 'FORMAT_R8G8_UNORM' specifies a two-component, 16-bit unsigned
-- normalized format that has an 8-bit R component in byte 0, and an 8-bit
-- G component in byte 1.
pattern $bFORMAT_R8G8_UNORM :: Format
$mFORMAT_R8G8_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8_UNORM = Format 16

-- | 'FORMAT_R8G8_SNORM' specifies a two-component, 16-bit signed normalized
-- format that has an 8-bit R component in byte 0, and an 8-bit G component
-- in byte 1.
pattern $bFORMAT_R8G8_SNORM :: Format
$mFORMAT_R8G8_SNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8_SNORM = Format 17

-- | 'FORMAT_R8G8_USCALED' specifies a two-component, 16-bit unsigned scaled
-- integer format that has an 8-bit R component in byte 0, and an 8-bit G
-- component in byte 1.
pattern $bFORMAT_R8G8_USCALED :: Format
$mFORMAT_R8G8_USCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8_USCALED = Format 18

-- | 'FORMAT_R8G8_SSCALED' specifies a two-component, 16-bit signed scaled
-- integer format that has an 8-bit R component in byte 0, and an 8-bit G
-- component in byte 1.
pattern $bFORMAT_R8G8_SSCALED :: Format
$mFORMAT_R8G8_SSCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8_SSCALED = Format 19

-- | 'FORMAT_R8G8_UINT' specifies a two-component, 16-bit unsigned integer
-- format that has an 8-bit R component in byte 0, and an 8-bit G component
-- in byte 1.
pattern $bFORMAT_R8G8_UINT :: Format
$mFORMAT_R8G8_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8_UINT = Format 20

-- | 'FORMAT_R8G8_SINT' specifies a two-component, 16-bit signed integer
-- format that has an 8-bit R component in byte 0, and an 8-bit G component
-- in byte 1.
pattern $bFORMAT_R8G8_SINT :: Format
$mFORMAT_R8G8_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8_SINT = Format 21

-- | 'FORMAT_R8G8_SRGB' specifies a two-component, 16-bit unsigned normalized
-- format that has an 8-bit R component stored with sRGB nonlinear encoding
-- in byte 0, and an 8-bit G component stored with sRGB nonlinear encoding
-- in byte 1.
pattern $bFORMAT_R8G8_SRGB :: Format
$mFORMAT_R8G8_SRGB :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8_SRGB = Format 22

-- | 'FORMAT_R8G8B8_UNORM' specifies a three-component, 24-bit unsigned
-- normalized format that has an 8-bit R component in byte 0, an 8-bit G
-- component in byte 1, and an 8-bit B component in byte 2.
pattern $bFORMAT_R8G8B8_UNORM :: Format
$mFORMAT_R8G8B8_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8B8_UNORM = Format 23

-- | 'FORMAT_R8G8B8_SNORM' specifies a three-component, 24-bit signed
-- normalized format that has an 8-bit R component in byte 0, an 8-bit G
-- component in byte 1, and an 8-bit B component in byte 2.
pattern $bFORMAT_R8G8B8_SNORM :: Format
$mFORMAT_R8G8B8_SNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8B8_SNORM = Format 24

-- | 'FORMAT_R8G8B8_USCALED' specifies a three-component, 24-bit unsigned
-- scaled format that has an 8-bit R component in byte 0, an 8-bit G
-- component in byte 1, and an 8-bit B component in byte 2.
pattern $bFORMAT_R8G8B8_USCALED :: Format
$mFORMAT_R8G8B8_USCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8B8_USCALED = Format 25

-- | 'FORMAT_R8G8B8_SSCALED' specifies a three-component, 24-bit signed
-- scaled format that has an 8-bit R component in byte 0, an 8-bit G
-- component in byte 1, and an 8-bit B component in byte 2.
pattern $bFORMAT_R8G8B8_SSCALED :: Format
$mFORMAT_R8G8B8_SSCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8B8_SSCALED = Format 26

-- | 'FORMAT_R8G8B8_UINT' specifies a three-component, 24-bit unsigned
-- integer format that has an 8-bit R component in byte 0, an 8-bit G
-- component in byte 1, and an 8-bit B component in byte 2.
pattern $bFORMAT_R8G8B8_UINT :: Format
$mFORMAT_R8G8B8_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8B8_UINT = Format 27

-- | 'FORMAT_R8G8B8_SINT' specifies a three-component, 24-bit signed integer
-- format that has an 8-bit R component in byte 0, an 8-bit G component in
-- byte 1, and an 8-bit B component in byte 2.
pattern $bFORMAT_R8G8B8_SINT :: Format
$mFORMAT_R8G8B8_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8B8_SINT = Format 28

-- | 'FORMAT_R8G8B8_SRGB' specifies a three-component, 24-bit unsigned
-- normalized format that has an 8-bit R component stored with sRGB
-- nonlinear encoding in byte 0, an 8-bit G component stored with sRGB
-- nonlinear encoding in byte 1, and an 8-bit B component stored with sRGB
-- nonlinear encoding in byte 2.
pattern $bFORMAT_R8G8B8_SRGB :: Format
$mFORMAT_R8G8B8_SRGB :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8B8_SRGB = Format 29

-- | 'FORMAT_B8G8R8_UNORM' specifies a three-component, 24-bit unsigned
-- normalized format that has an 8-bit B component in byte 0, an 8-bit G
-- component in byte 1, and an 8-bit R component in byte 2.
pattern $bFORMAT_B8G8R8_UNORM :: Format
$mFORMAT_B8G8R8_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B8G8R8_UNORM = Format 30

-- | 'FORMAT_B8G8R8_SNORM' specifies a three-component, 24-bit signed
-- normalized format that has an 8-bit B component in byte 0, an 8-bit G
-- component in byte 1, and an 8-bit R component in byte 2.
pattern $bFORMAT_B8G8R8_SNORM :: Format
$mFORMAT_B8G8R8_SNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B8G8R8_SNORM = Format 31

-- | 'FORMAT_B8G8R8_USCALED' specifies a three-component, 24-bit unsigned
-- scaled format that has an 8-bit B component in byte 0, an 8-bit G
-- component in byte 1, and an 8-bit R component in byte 2.
pattern $bFORMAT_B8G8R8_USCALED :: Format
$mFORMAT_B8G8R8_USCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B8G8R8_USCALED = Format 32

-- | 'FORMAT_B8G8R8_SSCALED' specifies a three-component, 24-bit signed
-- scaled format that has an 8-bit B component in byte 0, an 8-bit G
-- component in byte 1, and an 8-bit R component in byte 2.
pattern $bFORMAT_B8G8R8_SSCALED :: Format
$mFORMAT_B8G8R8_SSCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B8G8R8_SSCALED = Format 33

-- | 'FORMAT_B8G8R8_UINT' specifies a three-component, 24-bit unsigned
-- integer format that has an 8-bit B component in byte 0, an 8-bit G
-- component in byte 1, and an 8-bit R component in byte 2.
pattern $bFORMAT_B8G8R8_UINT :: Format
$mFORMAT_B8G8R8_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B8G8R8_UINT = Format 34

-- | 'FORMAT_B8G8R8_SINT' specifies a three-component, 24-bit signed integer
-- format that has an 8-bit B component in byte 0, an 8-bit G component in
-- byte 1, and an 8-bit R component in byte 2.
pattern $bFORMAT_B8G8R8_SINT :: Format
$mFORMAT_B8G8R8_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B8G8R8_SINT = Format 35

-- | 'FORMAT_B8G8R8_SRGB' specifies a three-component, 24-bit unsigned
-- normalized format that has an 8-bit B component stored with sRGB
-- nonlinear encoding in byte 0, an 8-bit G component stored with sRGB
-- nonlinear encoding in byte 1, and an 8-bit R component stored with sRGB
-- nonlinear encoding in byte 2.
pattern $bFORMAT_B8G8R8_SRGB :: Format
$mFORMAT_B8G8R8_SRGB :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B8G8R8_SRGB = Format 36

-- | 'FORMAT_R8G8B8A8_UNORM' specifies a four-component, 32-bit unsigned
-- normalized format that has an 8-bit R component in byte 0, an 8-bit G
-- component in byte 1, an 8-bit B component in byte 2, and an 8-bit A
-- component in byte 3.
pattern $bFORMAT_R8G8B8A8_UNORM :: Format
$mFORMAT_R8G8B8A8_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8B8A8_UNORM = Format 37

-- | 'FORMAT_R8G8B8A8_SNORM' specifies a four-component, 32-bit signed
-- normalized format that has an 8-bit R component in byte 0, an 8-bit G
-- component in byte 1, an 8-bit B component in byte 2, and an 8-bit A
-- component in byte 3.
pattern $bFORMAT_R8G8B8A8_SNORM :: Format
$mFORMAT_R8G8B8A8_SNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8B8A8_SNORM = Format 38

-- | 'FORMAT_R8G8B8A8_USCALED' specifies a four-component, 32-bit unsigned
-- scaled format that has an 8-bit R component in byte 0, an 8-bit G
-- component in byte 1, an 8-bit B component in byte 2, and an 8-bit A
-- component in byte 3.
pattern $bFORMAT_R8G8B8A8_USCALED :: Format
$mFORMAT_R8G8B8A8_USCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8B8A8_USCALED = Format 39

-- | 'FORMAT_R8G8B8A8_SSCALED' specifies a four-component, 32-bit signed
-- scaled format that has an 8-bit R component in byte 0, an 8-bit G
-- component in byte 1, an 8-bit B component in byte 2, and an 8-bit A
-- component in byte 3.
pattern $bFORMAT_R8G8B8A8_SSCALED :: Format
$mFORMAT_R8G8B8A8_SSCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8B8A8_SSCALED = Format 40

-- | 'FORMAT_R8G8B8A8_UINT' specifies a four-component, 32-bit unsigned
-- integer format that has an 8-bit R component in byte 0, an 8-bit G
-- component in byte 1, an 8-bit B component in byte 2, and an 8-bit A
-- component in byte 3.
pattern $bFORMAT_R8G8B8A8_UINT :: Format
$mFORMAT_R8G8B8A8_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8B8A8_UINT = Format 41

-- | 'FORMAT_R8G8B8A8_SINT' specifies a four-component, 32-bit signed integer
-- format that has an 8-bit R component in byte 0, an 8-bit G component in
-- byte 1, an 8-bit B component in byte 2, and an 8-bit A component in byte
-- 3.
pattern $bFORMAT_R8G8B8A8_SINT :: Format
$mFORMAT_R8G8B8A8_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8B8A8_SINT = Format 42

-- | 'FORMAT_R8G8B8A8_SRGB' specifies a four-component, 32-bit unsigned
-- normalized format that has an 8-bit R component stored with sRGB
-- nonlinear encoding in byte 0, an 8-bit G component stored with sRGB
-- nonlinear encoding in byte 1, an 8-bit B component stored with sRGB
-- nonlinear encoding in byte 2, and an 8-bit A component in byte 3.
pattern $bFORMAT_R8G8B8A8_SRGB :: Format
$mFORMAT_R8G8B8A8_SRGB :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R8G8B8A8_SRGB = Format 43

-- | 'FORMAT_B8G8R8A8_UNORM' specifies a four-component, 32-bit unsigned
-- normalized format that has an 8-bit B component in byte 0, an 8-bit G
-- component in byte 1, an 8-bit R component in byte 2, and an 8-bit A
-- component in byte 3.
pattern $bFORMAT_B8G8R8A8_UNORM :: Format
$mFORMAT_B8G8R8A8_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B8G8R8A8_UNORM = Format 44

-- | 'FORMAT_B8G8R8A8_SNORM' specifies a four-component, 32-bit signed
-- normalized format that has an 8-bit B component in byte 0, an 8-bit G
-- component in byte 1, an 8-bit R component in byte 2, and an 8-bit A
-- component in byte 3.
pattern $bFORMAT_B8G8R8A8_SNORM :: Format
$mFORMAT_B8G8R8A8_SNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B8G8R8A8_SNORM = Format 45

-- | 'FORMAT_B8G8R8A8_USCALED' specifies a four-component, 32-bit unsigned
-- scaled format that has an 8-bit B component in byte 0, an 8-bit G
-- component in byte 1, an 8-bit R component in byte 2, and an 8-bit A
-- component in byte 3.
pattern $bFORMAT_B8G8R8A8_USCALED :: Format
$mFORMAT_B8G8R8A8_USCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B8G8R8A8_USCALED = Format 46

-- | 'FORMAT_B8G8R8A8_SSCALED' specifies a four-component, 32-bit signed
-- scaled format that has an 8-bit B component in byte 0, an 8-bit G
-- component in byte 1, an 8-bit R component in byte 2, and an 8-bit A
-- component in byte 3.
pattern $bFORMAT_B8G8R8A8_SSCALED :: Format
$mFORMAT_B8G8R8A8_SSCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B8G8R8A8_SSCALED = Format 47

-- | 'FORMAT_B8G8R8A8_UINT' specifies a four-component, 32-bit unsigned
-- integer format that has an 8-bit B component in byte 0, an 8-bit G
-- component in byte 1, an 8-bit R component in byte 2, and an 8-bit A
-- component in byte 3.
pattern $bFORMAT_B8G8R8A8_UINT :: Format
$mFORMAT_B8G8R8A8_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B8G8R8A8_UINT = Format 48

-- | 'FORMAT_B8G8R8A8_SINT' specifies a four-component, 32-bit signed integer
-- format that has an 8-bit B component in byte 0, an 8-bit G component in
-- byte 1, an 8-bit R component in byte 2, and an 8-bit A component in byte
-- 3.
pattern $bFORMAT_B8G8R8A8_SINT :: Format
$mFORMAT_B8G8R8A8_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B8G8R8A8_SINT = Format 49

-- | 'FORMAT_B8G8R8A8_SRGB' specifies a four-component, 32-bit unsigned
-- normalized format that has an 8-bit B component stored with sRGB
-- nonlinear encoding in byte 0, an 8-bit G component stored with sRGB
-- nonlinear encoding in byte 1, an 8-bit R component stored with sRGB
-- nonlinear encoding in byte 2, and an 8-bit A component in byte 3.
pattern $bFORMAT_B8G8R8A8_SRGB :: Format
$mFORMAT_B8G8R8A8_SRGB :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B8G8R8A8_SRGB = Format 50

-- | 'FORMAT_A8B8G8R8_UNORM_PACK32' specifies a four-component, 32-bit packed
-- unsigned normalized format that has an 8-bit A component in bits 24..31,
-- an 8-bit B component in bits 16..23, an 8-bit G component in bits 8..15,
-- and an 8-bit R component in bits 0..7.
pattern $bFORMAT_A8B8G8R8_UNORM_PACK32 :: Format
$mFORMAT_A8B8G8R8_UNORM_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A8B8G8R8_UNORM_PACK32 = Format 51

-- | 'FORMAT_A8B8G8R8_SNORM_PACK32' specifies a four-component, 32-bit packed
-- signed normalized format that has an 8-bit A component in bits 24..31,
-- an 8-bit B component in bits 16..23, an 8-bit G component in bits 8..15,
-- and an 8-bit R component in bits 0..7.
pattern $bFORMAT_A8B8G8R8_SNORM_PACK32 :: Format
$mFORMAT_A8B8G8R8_SNORM_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A8B8G8R8_SNORM_PACK32 = Format 52

-- | 'FORMAT_A8B8G8R8_USCALED_PACK32' specifies a four-component, 32-bit
-- packed unsigned scaled integer format that has an 8-bit A component in
-- bits 24..31, an 8-bit B component in bits 16..23, an 8-bit G component
-- in bits 8..15, and an 8-bit R component in bits 0..7.
pattern $bFORMAT_A8B8G8R8_USCALED_PACK32 :: Format
$mFORMAT_A8B8G8R8_USCALED_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A8B8G8R8_USCALED_PACK32 = Format 53

-- | 'FORMAT_A8B8G8R8_SSCALED_PACK32' specifies a four-component, 32-bit
-- packed signed scaled integer format that has an 8-bit A component in
-- bits 24..31, an 8-bit B component in bits 16..23, an 8-bit G component
-- in bits 8..15, and an 8-bit R component in bits 0..7.
pattern $bFORMAT_A8B8G8R8_SSCALED_PACK32 :: Format
$mFORMAT_A8B8G8R8_SSCALED_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A8B8G8R8_SSCALED_PACK32 = Format 54

-- | 'FORMAT_A8B8G8R8_UINT_PACK32' specifies a four-component, 32-bit packed
-- unsigned integer format that has an 8-bit A component in bits 24..31, an
-- 8-bit B component in bits 16..23, an 8-bit G component in bits 8..15,
-- and an 8-bit R component in bits 0..7.
pattern $bFORMAT_A8B8G8R8_UINT_PACK32 :: Format
$mFORMAT_A8B8G8R8_UINT_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A8B8G8R8_UINT_PACK32 = Format 55

-- | 'FORMAT_A8B8G8R8_SINT_PACK32' specifies a four-component, 32-bit packed
-- signed integer format that has an 8-bit A component in bits 24..31, an
-- 8-bit B component in bits 16..23, an 8-bit G component in bits 8..15,
-- and an 8-bit R component in bits 0..7.
pattern $bFORMAT_A8B8G8R8_SINT_PACK32 :: Format
$mFORMAT_A8B8G8R8_SINT_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A8B8G8R8_SINT_PACK32 = Format 56

-- | 'FORMAT_A8B8G8R8_SRGB_PACK32' specifies a four-component, 32-bit packed
-- unsigned normalized format that has an 8-bit A component in bits 24..31,
-- an 8-bit B component stored with sRGB nonlinear encoding in bits 16..23,
-- an 8-bit G component stored with sRGB nonlinear encoding in bits 8..15,
-- and an 8-bit R component stored with sRGB nonlinear encoding in bits
-- 0..7.
pattern $bFORMAT_A8B8G8R8_SRGB_PACK32 :: Format
$mFORMAT_A8B8G8R8_SRGB_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A8B8G8R8_SRGB_PACK32 = Format 57

-- | 'FORMAT_A2R10G10B10_UNORM_PACK32' specifies a four-component, 32-bit
-- packed unsigned normalized format that has a 2-bit A component in bits
-- 30..31, a 10-bit R component in bits 20..29, a 10-bit G component in
-- bits 10..19, and a 10-bit B component in bits 0..9.
pattern $bFORMAT_A2R10G10B10_UNORM_PACK32 :: Format
$mFORMAT_A2R10G10B10_UNORM_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A2R10G10B10_UNORM_PACK32 = Format 58

-- | 'FORMAT_A2R10G10B10_SNORM_PACK32' specifies a four-component, 32-bit
-- packed signed normalized format that has a 2-bit A component in bits
-- 30..31, a 10-bit R component in bits 20..29, a 10-bit G component in
-- bits 10..19, and a 10-bit B component in bits 0..9.
pattern $bFORMAT_A2R10G10B10_SNORM_PACK32 :: Format
$mFORMAT_A2R10G10B10_SNORM_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A2R10G10B10_SNORM_PACK32 = Format 59

-- | 'FORMAT_A2R10G10B10_USCALED_PACK32' specifies a four-component, 32-bit
-- packed unsigned scaled integer format that has a 2-bit A component in
-- bits 30..31, a 10-bit R component in bits 20..29, a 10-bit G component
-- in bits 10..19, and a 10-bit B component in bits 0..9.
pattern $bFORMAT_A2R10G10B10_USCALED_PACK32 :: Format
$mFORMAT_A2R10G10B10_USCALED_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A2R10G10B10_USCALED_PACK32 = Format 60

-- | 'FORMAT_A2R10G10B10_SSCALED_PACK32' specifies a four-component, 32-bit
-- packed signed scaled integer format that has a 2-bit A component in bits
-- 30..31, a 10-bit R component in bits 20..29, a 10-bit G component in
-- bits 10..19, and a 10-bit B component in bits 0..9.
pattern $bFORMAT_A2R10G10B10_SSCALED_PACK32 :: Format
$mFORMAT_A2R10G10B10_SSCALED_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A2R10G10B10_SSCALED_PACK32 = Format 61

-- | 'FORMAT_A2R10G10B10_UINT_PACK32' specifies a four-component, 32-bit
-- packed unsigned integer format that has a 2-bit A component in bits
-- 30..31, a 10-bit R component in bits 20..29, a 10-bit G component in
-- bits 10..19, and a 10-bit B component in bits 0..9.
pattern $bFORMAT_A2R10G10B10_UINT_PACK32 :: Format
$mFORMAT_A2R10G10B10_UINT_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A2R10G10B10_UINT_PACK32 = Format 62

-- | 'FORMAT_A2R10G10B10_SINT_PACK32' specifies a four-component, 32-bit
-- packed signed integer format that has a 2-bit A component in bits
-- 30..31, a 10-bit R component in bits 20..29, a 10-bit G component in
-- bits 10..19, and a 10-bit B component in bits 0..9.
pattern $bFORMAT_A2R10G10B10_SINT_PACK32 :: Format
$mFORMAT_A2R10G10B10_SINT_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A2R10G10B10_SINT_PACK32 = Format 63

-- | 'FORMAT_A2B10G10R10_UNORM_PACK32' specifies a four-component, 32-bit
-- packed unsigned normalized format that has a 2-bit A component in bits
-- 30..31, a 10-bit B component in bits 20..29, a 10-bit G component in
-- bits 10..19, and a 10-bit R component in bits 0..9.
pattern $bFORMAT_A2B10G10R10_UNORM_PACK32 :: Format
$mFORMAT_A2B10G10R10_UNORM_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A2B10G10R10_UNORM_PACK32 = Format 64

-- | 'FORMAT_A2B10G10R10_SNORM_PACK32' specifies a four-component, 32-bit
-- packed signed normalized format that has a 2-bit A component in bits
-- 30..31, a 10-bit B component in bits 20..29, a 10-bit G component in
-- bits 10..19, and a 10-bit R component in bits 0..9.
pattern $bFORMAT_A2B10G10R10_SNORM_PACK32 :: Format
$mFORMAT_A2B10G10R10_SNORM_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A2B10G10R10_SNORM_PACK32 = Format 65

-- | 'FORMAT_A2B10G10R10_USCALED_PACK32' specifies a four-component, 32-bit
-- packed unsigned scaled integer format that has a 2-bit A component in
-- bits 30..31, a 10-bit B component in bits 20..29, a 10-bit G component
-- in bits 10..19, and a 10-bit R component in bits 0..9.
pattern $bFORMAT_A2B10G10R10_USCALED_PACK32 :: Format
$mFORMAT_A2B10G10R10_USCALED_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A2B10G10R10_USCALED_PACK32 = Format 66

-- | 'FORMAT_A2B10G10R10_SSCALED_PACK32' specifies a four-component, 32-bit
-- packed signed scaled integer format that has a 2-bit A component in bits
-- 30..31, a 10-bit B component in bits 20..29, a 10-bit G component in
-- bits 10..19, and a 10-bit R component in bits 0..9.
pattern $bFORMAT_A2B10G10R10_SSCALED_PACK32 :: Format
$mFORMAT_A2B10G10R10_SSCALED_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A2B10G10R10_SSCALED_PACK32 = Format 67

-- | 'FORMAT_A2B10G10R10_UINT_PACK32' specifies a four-component, 32-bit
-- packed unsigned integer format that has a 2-bit A component in bits
-- 30..31, a 10-bit B component in bits 20..29, a 10-bit G component in
-- bits 10..19, and a 10-bit R component in bits 0..9.
pattern $bFORMAT_A2B10G10R10_UINT_PACK32 :: Format
$mFORMAT_A2B10G10R10_UINT_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A2B10G10R10_UINT_PACK32 = Format 68

-- | 'FORMAT_A2B10G10R10_SINT_PACK32' specifies a four-component, 32-bit
-- packed signed integer format that has a 2-bit A component in bits
-- 30..31, a 10-bit B component in bits 20..29, a 10-bit G component in
-- bits 10..19, and a 10-bit R component in bits 0..9.
pattern $bFORMAT_A2B10G10R10_SINT_PACK32 :: Format
$mFORMAT_A2B10G10R10_SINT_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A2B10G10R10_SINT_PACK32 = Format 69

-- | 'FORMAT_R16_UNORM' specifies a one-component, 16-bit unsigned normalized
-- format that has a single 16-bit R component.
pattern $bFORMAT_R16_UNORM :: Format
$mFORMAT_R16_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16_UNORM = Format 70

-- | 'FORMAT_R16_SNORM' specifies a one-component, 16-bit signed normalized
-- format that has a single 16-bit R component.
pattern $bFORMAT_R16_SNORM :: Format
$mFORMAT_R16_SNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16_SNORM = Format 71

-- | 'FORMAT_R16_USCALED' specifies a one-component, 16-bit unsigned scaled
-- integer format that has a single 16-bit R component.
pattern $bFORMAT_R16_USCALED :: Format
$mFORMAT_R16_USCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16_USCALED = Format 72

-- | 'FORMAT_R16_SSCALED' specifies a one-component, 16-bit signed scaled
-- integer format that has a single 16-bit R component.
pattern $bFORMAT_R16_SSCALED :: Format
$mFORMAT_R16_SSCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16_SSCALED = Format 73

-- | 'FORMAT_R16_UINT' specifies a one-component, 16-bit unsigned integer
-- format that has a single 16-bit R component.
pattern $bFORMAT_R16_UINT :: Format
$mFORMAT_R16_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16_UINT = Format 74

-- | 'FORMAT_R16_SINT' specifies a one-component, 16-bit signed integer
-- format that has a single 16-bit R component.
pattern $bFORMAT_R16_SINT :: Format
$mFORMAT_R16_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16_SINT = Format 75

-- | 'FORMAT_R16_SFLOAT' specifies a one-component, 16-bit signed
-- floating-point format that has a single 16-bit R component.
pattern $bFORMAT_R16_SFLOAT :: Format
$mFORMAT_R16_SFLOAT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16_SFLOAT = Format 76

-- | 'FORMAT_R16G16_UNORM' specifies a two-component, 32-bit unsigned
-- normalized format that has a 16-bit R component in bytes 0..1, and a
-- 16-bit G component in bytes 2..3.
pattern $bFORMAT_R16G16_UNORM :: Format
$mFORMAT_R16G16_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16_UNORM = Format 77

-- | 'FORMAT_R16G16_SNORM' specifies a two-component, 32-bit signed
-- normalized format that has a 16-bit R component in bytes 0..1, and a
-- 16-bit G component in bytes 2..3.
pattern $bFORMAT_R16G16_SNORM :: Format
$mFORMAT_R16G16_SNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16_SNORM = Format 78

-- | 'FORMAT_R16G16_USCALED' specifies a two-component, 32-bit unsigned
-- scaled integer format that has a 16-bit R component in bytes 0..1, and a
-- 16-bit G component in bytes 2..3.
pattern $bFORMAT_R16G16_USCALED :: Format
$mFORMAT_R16G16_USCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16_USCALED = Format 79

-- | 'FORMAT_R16G16_SSCALED' specifies a two-component, 32-bit signed scaled
-- integer format that has a 16-bit R component in bytes 0..1, and a 16-bit
-- G component in bytes 2..3.
pattern $bFORMAT_R16G16_SSCALED :: Format
$mFORMAT_R16G16_SSCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16_SSCALED = Format 80

-- | 'FORMAT_R16G16_UINT' specifies a two-component, 32-bit unsigned integer
-- format that has a 16-bit R component in bytes 0..1, and a 16-bit G
-- component in bytes 2..3.
pattern $bFORMAT_R16G16_UINT :: Format
$mFORMAT_R16G16_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16_UINT = Format 81

-- | 'FORMAT_R16G16_SINT' specifies a two-component, 32-bit signed integer
-- format that has a 16-bit R component in bytes 0..1, and a 16-bit G
-- component in bytes 2..3.
pattern $bFORMAT_R16G16_SINT :: Format
$mFORMAT_R16G16_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16_SINT = Format 82

-- | 'FORMAT_R16G16_SFLOAT' specifies a two-component, 32-bit signed
-- floating-point format that has a 16-bit R component in bytes 0..1, and a
-- 16-bit G component in bytes 2..3.
pattern $bFORMAT_R16G16_SFLOAT :: Format
$mFORMAT_R16G16_SFLOAT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16_SFLOAT = Format 83

-- | 'FORMAT_R16G16B16_UNORM' specifies a three-component, 48-bit unsigned
-- normalized format that has a 16-bit R component in bytes 0..1, a 16-bit
-- G component in bytes 2..3, and a 16-bit B component in bytes 4..5.
pattern $bFORMAT_R16G16B16_UNORM :: Format
$mFORMAT_R16G16B16_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16B16_UNORM = Format 84

-- | 'FORMAT_R16G16B16_SNORM' specifies a three-component, 48-bit signed
-- normalized format that has a 16-bit R component in bytes 0..1, a 16-bit
-- G component in bytes 2..3, and a 16-bit B component in bytes 4..5.
pattern $bFORMAT_R16G16B16_SNORM :: Format
$mFORMAT_R16G16B16_SNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16B16_SNORM = Format 85

-- | 'FORMAT_R16G16B16_USCALED' specifies a three-component, 48-bit unsigned
-- scaled integer format that has a 16-bit R component in bytes 0..1, a
-- 16-bit G component in bytes 2..3, and a 16-bit B component in bytes
-- 4..5.
pattern $bFORMAT_R16G16B16_USCALED :: Format
$mFORMAT_R16G16B16_USCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16B16_USCALED = Format 86

-- | 'FORMAT_R16G16B16_SSCALED' specifies a three-component, 48-bit signed
-- scaled integer format that has a 16-bit R component in bytes 0..1, a
-- 16-bit G component in bytes 2..3, and a 16-bit B component in bytes
-- 4..5.
pattern $bFORMAT_R16G16B16_SSCALED :: Format
$mFORMAT_R16G16B16_SSCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16B16_SSCALED = Format 87

-- | 'FORMAT_R16G16B16_UINT' specifies a three-component, 48-bit unsigned
-- integer format that has a 16-bit R component in bytes 0..1, a 16-bit G
-- component in bytes 2..3, and a 16-bit B component in bytes 4..5.
pattern $bFORMAT_R16G16B16_UINT :: Format
$mFORMAT_R16G16B16_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16B16_UINT = Format 88

-- | 'FORMAT_R16G16B16_SINT' specifies a three-component, 48-bit signed
-- integer format that has a 16-bit R component in bytes 0..1, a 16-bit G
-- component in bytes 2..3, and a 16-bit B component in bytes 4..5.
pattern $bFORMAT_R16G16B16_SINT :: Format
$mFORMAT_R16G16B16_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16B16_SINT = Format 89

-- | 'FORMAT_R16G16B16_SFLOAT' specifies a three-component, 48-bit signed
-- floating-point format that has a 16-bit R component in bytes 0..1, a
-- 16-bit G component in bytes 2..3, and a 16-bit B component in bytes
-- 4..5.
pattern $bFORMAT_R16G16B16_SFLOAT :: Format
$mFORMAT_R16G16B16_SFLOAT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16B16_SFLOAT = Format 90

-- | 'FORMAT_R16G16B16A16_UNORM' specifies a four-component, 64-bit unsigned
-- normalized format that has a 16-bit R component in bytes 0..1, a 16-bit
-- G component in bytes 2..3, a 16-bit B component in bytes 4..5, and a
-- 16-bit A component in bytes 6..7.
pattern $bFORMAT_R16G16B16A16_UNORM :: Format
$mFORMAT_R16G16B16A16_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16B16A16_UNORM = Format 91

-- | 'FORMAT_R16G16B16A16_SNORM' specifies a four-component, 64-bit signed
-- normalized format that has a 16-bit R component in bytes 0..1, a 16-bit
-- G component in bytes 2..3, a 16-bit B component in bytes 4..5, and a
-- 16-bit A component in bytes 6..7.
pattern $bFORMAT_R16G16B16A16_SNORM :: Format
$mFORMAT_R16G16B16A16_SNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16B16A16_SNORM = Format 92

-- | 'FORMAT_R16G16B16A16_USCALED' specifies a four-component, 64-bit
-- unsigned scaled integer format that has a 16-bit R component in bytes
-- 0..1, a 16-bit G component in bytes 2..3, a 16-bit B component in bytes
-- 4..5, and a 16-bit A component in bytes 6..7.
pattern $bFORMAT_R16G16B16A16_USCALED :: Format
$mFORMAT_R16G16B16A16_USCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16B16A16_USCALED = Format 93

-- | 'FORMAT_R16G16B16A16_SSCALED' specifies a four-component, 64-bit signed
-- scaled integer format that has a 16-bit R component in bytes 0..1, a
-- 16-bit G component in bytes 2..3, a 16-bit B component in bytes 4..5,
-- and a 16-bit A component in bytes 6..7.
pattern $bFORMAT_R16G16B16A16_SSCALED :: Format
$mFORMAT_R16G16B16A16_SSCALED :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16B16A16_SSCALED = Format 94

-- | 'FORMAT_R16G16B16A16_UINT' specifies a four-component, 64-bit unsigned
-- integer format that has a 16-bit R component in bytes 0..1, a 16-bit G
-- component in bytes 2..3, a 16-bit B component in bytes 4..5, and a
-- 16-bit A component in bytes 6..7.
pattern $bFORMAT_R16G16B16A16_UINT :: Format
$mFORMAT_R16G16B16A16_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16B16A16_UINT = Format 95

-- | 'FORMAT_R16G16B16A16_SINT' specifies a four-component, 64-bit signed
-- integer format that has a 16-bit R component in bytes 0..1, a 16-bit G
-- component in bytes 2..3, a 16-bit B component in bytes 4..5, and a
-- 16-bit A component in bytes 6..7.
pattern $bFORMAT_R16G16B16A16_SINT :: Format
$mFORMAT_R16G16B16A16_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16B16A16_SINT = Format 96

-- | 'FORMAT_R16G16B16A16_SFLOAT' specifies a four-component, 64-bit signed
-- floating-point format that has a 16-bit R component in bytes 0..1, a
-- 16-bit G component in bytes 2..3, a 16-bit B component in bytes 4..5,
-- and a 16-bit A component in bytes 6..7.
pattern $bFORMAT_R16G16B16A16_SFLOAT :: Format
$mFORMAT_R16G16B16A16_SFLOAT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16B16A16_SFLOAT = Format 97

-- | 'FORMAT_R32_UINT' specifies a one-component, 32-bit unsigned integer
-- format that has a single 32-bit R component.
pattern $bFORMAT_R32_UINT :: Format
$mFORMAT_R32_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R32_UINT = Format 98

-- | 'FORMAT_R32_SINT' specifies a one-component, 32-bit signed integer
-- format that has a single 32-bit R component.
pattern $bFORMAT_R32_SINT :: Format
$mFORMAT_R32_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R32_SINT = Format 99

-- | 'FORMAT_R32_SFLOAT' specifies a one-component, 32-bit signed
-- floating-point format that has a single 32-bit R component.
pattern $bFORMAT_R32_SFLOAT :: Format
$mFORMAT_R32_SFLOAT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R32_SFLOAT = Format 100

-- | 'FORMAT_R32G32_UINT' specifies a two-component, 64-bit unsigned integer
-- format that has a 32-bit R component in bytes 0..3, and a 32-bit G
-- component in bytes 4..7.
pattern $bFORMAT_R32G32_UINT :: Format
$mFORMAT_R32G32_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R32G32_UINT = Format 101

-- | 'FORMAT_R32G32_SINT' specifies a two-component, 64-bit signed integer
-- format that has a 32-bit R component in bytes 0..3, and a 32-bit G
-- component in bytes 4..7.
pattern $bFORMAT_R32G32_SINT :: Format
$mFORMAT_R32G32_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R32G32_SINT = Format 102

-- | 'FORMAT_R32G32_SFLOAT' specifies a two-component, 64-bit signed
-- floating-point format that has a 32-bit R component in bytes 0..3, and a
-- 32-bit G component in bytes 4..7.
pattern $bFORMAT_R32G32_SFLOAT :: Format
$mFORMAT_R32G32_SFLOAT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R32G32_SFLOAT = Format 103

-- | 'FORMAT_R32G32B32_UINT' specifies a three-component, 96-bit unsigned
-- integer format that has a 32-bit R component in bytes 0..3, a 32-bit G
-- component in bytes 4..7, and a 32-bit B component in bytes 8..11.
pattern $bFORMAT_R32G32B32_UINT :: Format
$mFORMAT_R32G32B32_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R32G32B32_UINT = Format 104

-- | 'FORMAT_R32G32B32_SINT' specifies a three-component, 96-bit signed
-- integer format that has a 32-bit R component in bytes 0..3, a 32-bit G
-- component in bytes 4..7, and a 32-bit B component in bytes 8..11.
pattern $bFORMAT_R32G32B32_SINT :: Format
$mFORMAT_R32G32B32_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R32G32B32_SINT = Format 105

-- | 'FORMAT_R32G32B32_SFLOAT' specifies a three-component, 96-bit signed
-- floating-point format that has a 32-bit R component in bytes 0..3, a
-- 32-bit G component in bytes 4..7, and a 32-bit B component in bytes
-- 8..11.
pattern $bFORMAT_R32G32B32_SFLOAT :: Format
$mFORMAT_R32G32B32_SFLOAT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R32G32B32_SFLOAT = Format 106

-- | 'FORMAT_R32G32B32A32_UINT' specifies a four-component, 128-bit unsigned
-- integer format that has a 32-bit R component in bytes 0..3, a 32-bit G
-- component in bytes 4..7, a 32-bit B component in bytes 8..11, and a
-- 32-bit A component in bytes 12..15.
pattern $bFORMAT_R32G32B32A32_UINT :: Format
$mFORMAT_R32G32B32A32_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R32G32B32A32_UINT = Format 107

-- | 'FORMAT_R32G32B32A32_SINT' specifies a four-component, 128-bit signed
-- integer format that has a 32-bit R component in bytes 0..3, a 32-bit G
-- component in bytes 4..7, a 32-bit B component in bytes 8..11, and a
-- 32-bit A component in bytes 12..15.
pattern $bFORMAT_R32G32B32A32_SINT :: Format
$mFORMAT_R32G32B32A32_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R32G32B32A32_SINT = Format 108

-- | 'FORMAT_R32G32B32A32_SFLOAT' specifies a four-component, 128-bit signed
-- floating-point format that has a 32-bit R component in bytes 0..3, a
-- 32-bit G component in bytes 4..7, a 32-bit B component in bytes 8..11,
-- and a 32-bit A component in bytes 12..15.
pattern $bFORMAT_R32G32B32A32_SFLOAT :: Format
$mFORMAT_R32G32B32A32_SFLOAT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R32G32B32A32_SFLOAT = Format 109

-- | 'FORMAT_R64_UINT' specifies a one-component, 64-bit unsigned integer
-- format that has a single 64-bit R component.
pattern $bFORMAT_R64_UINT :: Format
$mFORMAT_R64_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R64_UINT = Format 110

-- | 'FORMAT_R64_SINT' specifies a one-component, 64-bit signed integer
-- format that has a single 64-bit R component.
pattern $bFORMAT_R64_SINT :: Format
$mFORMAT_R64_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R64_SINT = Format 111

-- | 'FORMAT_R64_SFLOAT' specifies a one-component, 64-bit signed
-- floating-point format that has a single 64-bit R component.
pattern $bFORMAT_R64_SFLOAT :: Format
$mFORMAT_R64_SFLOAT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R64_SFLOAT = Format 112

-- | 'FORMAT_R64G64_UINT' specifies a two-component, 128-bit unsigned integer
-- format that has a 64-bit R component in bytes 0..7, and a 64-bit G
-- component in bytes 8..15.
pattern $bFORMAT_R64G64_UINT :: Format
$mFORMAT_R64G64_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R64G64_UINT = Format 113

-- | 'FORMAT_R64G64_SINT' specifies a two-component, 128-bit signed integer
-- format that has a 64-bit R component in bytes 0..7, and a 64-bit G
-- component in bytes 8..15.
pattern $bFORMAT_R64G64_SINT :: Format
$mFORMAT_R64G64_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R64G64_SINT = Format 114

-- | 'FORMAT_R64G64_SFLOAT' specifies a two-component, 128-bit signed
-- floating-point format that has a 64-bit R component in bytes 0..7, and a
-- 64-bit G component in bytes 8..15.
pattern $bFORMAT_R64G64_SFLOAT :: Format
$mFORMAT_R64G64_SFLOAT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R64G64_SFLOAT = Format 115

-- | 'FORMAT_R64G64B64_UINT' specifies a three-component, 192-bit unsigned
-- integer format that has a 64-bit R component in bytes 0..7, a 64-bit G
-- component in bytes 8..15, and a 64-bit B component in bytes 16..23.
pattern $bFORMAT_R64G64B64_UINT :: Format
$mFORMAT_R64G64B64_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R64G64B64_UINT = Format 116

-- | 'FORMAT_R64G64B64_SINT' specifies a three-component, 192-bit signed
-- integer format that has a 64-bit R component in bytes 0..7, a 64-bit G
-- component in bytes 8..15, and a 64-bit B component in bytes 16..23.
pattern $bFORMAT_R64G64B64_SINT :: Format
$mFORMAT_R64G64B64_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R64G64B64_SINT = Format 117

-- | 'FORMAT_R64G64B64_SFLOAT' specifies a three-component, 192-bit signed
-- floating-point format that has a 64-bit R component in bytes 0..7, a
-- 64-bit G component in bytes 8..15, and a 64-bit B component in bytes
-- 16..23.
pattern $bFORMAT_R64G64B64_SFLOAT :: Format
$mFORMAT_R64G64B64_SFLOAT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R64G64B64_SFLOAT = Format 118

-- | 'FORMAT_R64G64B64A64_UINT' specifies a four-component, 256-bit unsigned
-- integer format that has a 64-bit R component in bytes 0..7, a 64-bit G
-- component in bytes 8..15, a 64-bit B component in bytes 16..23, and a
-- 64-bit A component in bytes 24..31.
pattern $bFORMAT_R64G64B64A64_UINT :: Format
$mFORMAT_R64G64B64A64_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R64G64B64A64_UINT = Format 119

-- | 'FORMAT_R64G64B64A64_SINT' specifies a four-component, 256-bit signed
-- integer format that has a 64-bit R component in bytes 0..7, a 64-bit G
-- component in bytes 8..15, a 64-bit B component in bytes 16..23, and a
-- 64-bit A component in bytes 24..31.
pattern $bFORMAT_R64G64B64A64_SINT :: Format
$mFORMAT_R64G64B64A64_SINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R64G64B64A64_SINT = Format 120

-- | 'FORMAT_R64G64B64A64_SFLOAT' specifies a four-component, 256-bit signed
-- floating-point format that has a 64-bit R component in bytes 0..7, a
-- 64-bit G component in bytes 8..15, a 64-bit B component in bytes 16..23,
-- and a 64-bit A component in bytes 24..31.
pattern $bFORMAT_R64G64B64A64_SFLOAT :: Format
$mFORMAT_R64G64B64A64_SFLOAT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R64G64B64A64_SFLOAT = Format 121

-- | 'FORMAT_B10G11R11_UFLOAT_PACK32' specifies a three-component, 32-bit
-- packed unsigned floating-point format that has a 10-bit B component in
-- bits 22..31, an 11-bit G component in bits 11..21, an 11-bit R component
-- in bits 0..10. See
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#fundamentals-fp10>
-- and
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#fundamentals-fp11>.
pattern $bFORMAT_B10G11R11_UFLOAT_PACK32 :: Format
$mFORMAT_B10G11R11_UFLOAT_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B10G11R11_UFLOAT_PACK32 = Format 122

-- | 'FORMAT_E5B9G9R9_UFLOAT_PACK32' specifies a three-component, 32-bit
-- packed unsigned floating-point format that has a 5-bit shared exponent
-- in bits 27..31, a 9-bit B component mantissa in bits 18..26, a 9-bit G
-- component mantissa in bits 9..17, and a 9-bit R component mantissa in
-- bits 0..8.
pattern $bFORMAT_E5B9G9R9_UFLOAT_PACK32 :: Format
$mFORMAT_E5B9G9R9_UFLOAT_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_E5B9G9R9_UFLOAT_PACK32 = Format 123

-- | 'FORMAT_D16_UNORM' specifies a one-component, 16-bit unsigned normalized
-- format that has a single 16-bit depth component.
pattern $bFORMAT_D16_UNORM :: Format
$mFORMAT_D16_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_D16_UNORM = Format 124

-- | 'FORMAT_X8_D24_UNORM_PACK32' specifies a two-component, 32-bit format
-- that has 24 unsigned normalized bits in the depth component and,
-- /optionally/, 8 bits that are unused.
pattern $bFORMAT_X8_D24_UNORM_PACK32 :: Format
$mFORMAT_X8_D24_UNORM_PACK32 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_X8_D24_UNORM_PACK32 = Format 125

-- | 'FORMAT_D32_SFLOAT' specifies a one-component, 32-bit signed
-- floating-point format that has 32 bits in the depth component.
pattern $bFORMAT_D32_SFLOAT :: Format
$mFORMAT_D32_SFLOAT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_D32_SFLOAT = Format 126

-- | 'FORMAT_S8_UINT' specifies a one-component, 8-bit unsigned integer
-- format that has 8 bits in the stencil component.
pattern $bFORMAT_S8_UINT :: Format
$mFORMAT_S8_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_S8_UINT = Format 127

-- | 'FORMAT_D16_UNORM_S8_UINT' specifies a two-component, 24-bit format that
-- has 16 unsigned normalized bits in the depth component and 8 unsigned
-- integer bits in the stencil component.
pattern $bFORMAT_D16_UNORM_S8_UINT :: Format
$mFORMAT_D16_UNORM_S8_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_D16_UNORM_S8_UINT = Format 128

-- | 'FORMAT_D24_UNORM_S8_UINT' specifies a two-component, 32-bit packed
-- format that has 8 unsigned integer bits in the stencil component, and 24
-- unsigned normalized bits in the depth component.
pattern $bFORMAT_D24_UNORM_S8_UINT :: Format
$mFORMAT_D24_UNORM_S8_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_D24_UNORM_S8_UINT = Format 129

-- | 'FORMAT_D32_SFLOAT_S8_UINT' specifies a two-component format that has 32
-- signed float bits in the depth component and 8 unsigned integer bits in
-- the stencil component. There are /optionally/ 24 bits that are unused.
pattern $bFORMAT_D32_SFLOAT_S8_UINT :: Format
$mFORMAT_D32_SFLOAT_S8_UINT :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_D32_SFLOAT_S8_UINT = Format 130

-- | 'FORMAT_BC1_RGB_UNORM_BLOCK' specifies a three-component,
-- block-compressed format where each 64-bit compressed texel block encodes
-- a 4×4 rectangle of unsigned normalized RGB texel data. This format has
-- no alpha and is considered opaque.
pattern $bFORMAT_BC1_RGB_UNORM_BLOCK :: Format
$mFORMAT_BC1_RGB_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC1_RGB_UNORM_BLOCK = Format 131

-- | 'FORMAT_BC1_RGB_SRGB_BLOCK' specifies a three-component,
-- block-compressed format where each 64-bit compressed texel block encodes
-- a 4×4 rectangle of unsigned normalized RGB texel data with sRGB
-- nonlinear encoding. This format has no alpha and is considered opaque.
pattern $bFORMAT_BC1_RGB_SRGB_BLOCK :: Format
$mFORMAT_BC1_RGB_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC1_RGB_SRGB_BLOCK = Format 132

-- | 'FORMAT_BC1_RGBA_UNORM_BLOCK' specifies a four-component,
-- block-compressed format where each 64-bit compressed texel block encodes
-- a 4×4 rectangle of unsigned normalized RGB texel data, and provides 1
-- bit of alpha.
pattern $bFORMAT_BC1_RGBA_UNORM_BLOCK :: Format
$mFORMAT_BC1_RGBA_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC1_RGBA_UNORM_BLOCK = Format 133

-- | 'FORMAT_BC1_RGBA_SRGB_BLOCK' specifies a four-component,
-- block-compressed format where each 64-bit compressed texel block encodes
-- a 4×4 rectangle of unsigned normalized RGB texel data with sRGB
-- nonlinear encoding, and provides 1 bit of alpha.
pattern $bFORMAT_BC1_RGBA_SRGB_BLOCK :: Format
$mFORMAT_BC1_RGBA_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC1_RGBA_SRGB_BLOCK = Format 134

-- | 'FORMAT_BC2_UNORM_BLOCK' specifies a four-component, block-compressed
-- format where each 128-bit compressed texel block encodes a 4×4 rectangle
-- of unsigned normalized RGBA texel data with the first 64 bits encoding
-- alpha values followed by 64 bits encoding RGB values.
pattern $bFORMAT_BC2_UNORM_BLOCK :: Format
$mFORMAT_BC2_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC2_UNORM_BLOCK = Format 135

-- | 'FORMAT_BC2_SRGB_BLOCK' specifies a four-component, block-compressed
-- format where each 128-bit compressed texel block encodes a 4×4 rectangle
-- of unsigned normalized RGBA texel data with the first 64 bits encoding
-- alpha values followed by 64 bits encoding RGB values with sRGB nonlinear
-- encoding.
pattern $bFORMAT_BC2_SRGB_BLOCK :: Format
$mFORMAT_BC2_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC2_SRGB_BLOCK = Format 136

-- | 'FORMAT_BC3_UNORM_BLOCK' specifies a four-component, block-compressed
-- format where each 128-bit compressed texel block encodes a 4×4 rectangle
-- of unsigned normalized RGBA texel data with the first 64 bits encoding
-- alpha values followed by 64 bits encoding RGB values.
pattern $bFORMAT_BC3_UNORM_BLOCK :: Format
$mFORMAT_BC3_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC3_UNORM_BLOCK = Format 137

-- | 'FORMAT_BC3_SRGB_BLOCK' specifies a four-component, block-compressed
-- format where each 128-bit compressed texel block encodes a 4×4 rectangle
-- of unsigned normalized RGBA texel data with the first 64 bits encoding
-- alpha values followed by 64 bits encoding RGB values with sRGB nonlinear
-- encoding.
pattern $bFORMAT_BC3_SRGB_BLOCK :: Format
$mFORMAT_BC3_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC3_SRGB_BLOCK = Format 138

-- | 'FORMAT_BC4_UNORM_BLOCK' specifies a one-component, block-compressed
-- format where each 64-bit compressed texel block encodes a 4×4 rectangle
-- of unsigned normalized red texel data.
pattern $bFORMAT_BC4_UNORM_BLOCK :: Format
$mFORMAT_BC4_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC4_UNORM_BLOCK = Format 139

-- | 'FORMAT_BC4_SNORM_BLOCK' specifies a one-component, block-compressed
-- format where each 64-bit compressed texel block encodes a 4×4 rectangle
-- of signed normalized red texel data.
pattern $bFORMAT_BC4_SNORM_BLOCK :: Format
$mFORMAT_BC4_SNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC4_SNORM_BLOCK = Format 140

-- | 'FORMAT_BC5_UNORM_BLOCK' specifies a two-component, block-compressed
-- format where each 128-bit compressed texel block encodes a 4×4 rectangle
-- of unsigned normalized RG texel data with the first 64 bits encoding red
-- values followed by 64 bits encoding green values.
pattern $bFORMAT_BC5_UNORM_BLOCK :: Format
$mFORMAT_BC5_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC5_UNORM_BLOCK = Format 141

-- | 'FORMAT_BC5_SNORM_BLOCK' specifies a two-component, block-compressed
-- format where each 128-bit compressed texel block encodes a 4×4 rectangle
-- of signed normalized RG texel data with the first 64 bits encoding red
-- values followed by 64 bits encoding green values.
pattern $bFORMAT_BC5_SNORM_BLOCK :: Format
$mFORMAT_BC5_SNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC5_SNORM_BLOCK = Format 142

-- | 'FORMAT_BC6H_UFLOAT_BLOCK' specifies a three-component, block-compressed
-- format where each 128-bit compressed texel block encodes a 4×4 rectangle
-- of unsigned floating-point RGB texel data.
pattern $bFORMAT_BC6H_UFLOAT_BLOCK :: Format
$mFORMAT_BC6H_UFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC6H_UFLOAT_BLOCK = Format 143

-- | 'FORMAT_BC6H_SFLOAT_BLOCK' specifies a three-component, block-compressed
-- format where each 128-bit compressed texel block encodes a 4×4 rectangle
-- of signed floating-point RGB texel data.
pattern $bFORMAT_BC6H_SFLOAT_BLOCK :: Format
$mFORMAT_BC6H_SFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC6H_SFLOAT_BLOCK = Format 144

-- | 'FORMAT_BC7_UNORM_BLOCK' specifies a four-component, block-compressed
-- format where each 128-bit compressed texel block encodes a 4×4 rectangle
-- of unsigned normalized RGBA texel data.
pattern $bFORMAT_BC7_UNORM_BLOCK :: Format
$mFORMAT_BC7_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC7_UNORM_BLOCK = Format 145

-- | 'FORMAT_BC7_SRGB_BLOCK' specifies a four-component, block-compressed
-- format where each 128-bit compressed texel block encodes a 4×4 rectangle
-- of unsigned normalized RGBA texel data with sRGB nonlinear encoding
-- applied to the RGB components.
pattern $bFORMAT_BC7_SRGB_BLOCK :: Format
$mFORMAT_BC7_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_BC7_SRGB_BLOCK = Format 146

-- | 'FORMAT_ETC2_R8G8B8_UNORM_BLOCK' specifies a three-component, ETC2
-- compressed format where each 64-bit compressed texel block encodes a 4×4
-- rectangle of unsigned normalized RGB texel data. This format has no
-- alpha and is considered opaque.
pattern $bFORMAT_ETC2_R8G8B8_UNORM_BLOCK :: Format
$mFORMAT_ETC2_R8G8B8_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ETC2_R8G8B8_UNORM_BLOCK = Format 147

-- | 'FORMAT_ETC2_R8G8B8_SRGB_BLOCK' specifies a three-component, ETC2
-- compressed format where each 64-bit compressed texel block encodes a 4×4
-- rectangle of unsigned normalized RGB texel data with sRGB nonlinear
-- encoding. This format has no alpha and is considered opaque.
pattern $bFORMAT_ETC2_R8G8B8_SRGB_BLOCK :: Format
$mFORMAT_ETC2_R8G8B8_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ETC2_R8G8B8_SRGB_BLOCK = Format 148

-- | 'FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK' specifies a four-component, ETC2
-- compressed format where each 64-bit compressed texel block encodes a 4×4
-- rectangle of unsigned normalized RGB texel data, and provides 1 bit of
-- alpha.
pattern $bFORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: Format
$mFORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = Format 149

-- | 'FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK' specifies a four-component, ETC2
-- compressed format where each 64-bit compressed texel block encodes a 4×4
-- rectangle of unsigned normalized RGB texel data with sRGB nonlinear
-- encoding, and provides 1 bit of alpha.
pattern $bFORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: Format
$mFORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = Format 150

-- | 'FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK' specifies a four-component, ETC2
-- compressed format where each 128-bit compressed texel block encodes a
-- 4×4 rectangle of unsigned normalized RGBA texel data with the first 64
-- bits encoding alpha values followed by 64 bits encoding RGB values.
pattern $bFORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: Format
$mFORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = Format 151

-- | 'FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK' specifies a four-component, ETC2
-- compressed format where each 128-bit compressed texel block encodes a
-- 4×4 rectangle of unsigned normalized RGBA texel data with the first 64
-- bits encoding alpha values followed by 64 bits encoding RGB values with
-- sRGB nonlinear encoding applied.
pattern $bFORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: Format
$mFORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = Format 152

-- | 'FORMAT_EAC_R11_UNORM_BLOCK' specifies a one-component, ETC2 compressed
-- format where each 64-bit compressed texel block encodes a 4×4 rectangle
-- of unsigned normalized red texel data.
pattern $bFORMAT_EAC_R11_UNORM_BLOCK :: Format
$mFORMAT_EAC_R11_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_EAC_R11_UNORM_BLOCK = Format 153

-- | 'FORMAT_EAC_R11_SNORM_BLOCK' specifies a one-component, ETC2 compressed
-- format where each 64-bit compressed texel block encodes a 4×4 rectangle
-- of signed normalized red texel data.
pattern $bFORMAT_EAC_R11_SNORM_BLOCK :: Format
$mFORMAT_EAC_R11_SNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_EAC_R11_SNORM_BLOCK = Format 154

-- | 'FORMAT_EAC_R11G11_UNORM_BLOCK' specifies a two-component, ETC2
-- compressed format where each 128-bit compressed texel block encodes a
-- 4×4 rectangle of unsigned normalized RG texel data with the first 64
-- bits encoding red values followed by 64 bits encoding green values.
pattern $bFORMAT_EAC_R11G11_UNORM_BLOCK :: Format
$mFORMAT_EAC_R11G11_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_EAC_R11G11_UNORM_BLOCK = Format 155

-- | 'FORMAT_EAC_R11G11_SNORM_BLOCK' specifies a two-component, ETC2
-- compressed format where each 128-bit compressed texel block encodes a
-- 4×4 rectangle of signed normalized RG texel data with the first 64 bits
-- encoding red values followed by 64 bits encoding green values.
pattern $bFORMAT_EAC_R11G11_SNORM_BLOCK :: Format
$mFORMAT_EAC_R11G11_SNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_EAC_R11G11_SNORM_BLOCK = Format 156

-- | 'FORMAT_ASTC_4x4_UNORM_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 4×4 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_ASTC_4x4_UNORM_BLOCK :: Format
$mFORMAT_ASTC_4x4_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_4x4_UNORM_BLOCK = Format 157

-- | 'FORMAT_ASTC_4x4_SRGB_BLOCK' specifies a four-component, ASTC compressed
-- format where each 128-bit compressed texel block encodes a 4×4 rectangle
-- of unsigned normalized RGBA texel data with sRGB nonlinear encoding
-- applied to the RGB components.
pattern $bFORMAT_ASTC_4x4_SRGB_BLOCK :: Format
$mFORMAT_ASTC_4x4_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_4x4_SRGB_BLOCK = Format 158

-- | 'FORMAT_ASTC_5x4_UNORM_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 5×4 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_ASTC_5x4_UNORM_BLOCK :: Format
$mFORMAT_ASTC_5x4_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_5x4_UNORM_BLOCK = Format 159

-- | 'FORMAT_ASTC_5x4_SRGB_BLOCK' specifies a four-component, ASTC compressed
-- format where each 128-bit compressed texel block encodes a 5×4 rectangle
-- of unsigned normalized RGBA texel data with sRGB nonlinear encoding
-- applied to the RGB components.
pattern $bFORMAT_ASTC_5x4_SRGB_BLOCK :: Format
$mFORMAT_ASTC_5x4_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_5x4_SRGB_BLOCK = Format 160

-- | 'FORMAT_ASTC_5x5_UNORM_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 5×5 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_ASTC_5x5_UNORM_BLOCK :: Format
$mFORMAT_ASTC_5x5_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_5x5_UNORM_BLOCK = Format 161

-- | 'FORMAT_ASTC_5x5_SRGB_BLOCK' specifies a four-component, ASTC compressed
-- format where each 128-bit compressed texel block encodes a 5×5 rectangle
-- of unsigned normalized RGBA texel data with sRGB nonlinear encoding
-- applied to the RGB components.
pattern $bFORMAT_ASTC_5x5_SRGB_BLOCK :: Format
$mFORMAT_ASTC_5x5_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_5x5_SRGB_BLOCK = Format 162

-- | 'FORMAT_ASTC_6x5_UNORM_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 6×5 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_ASTC_6x5_UNORM_BLOCK :: Format
$mFORMAT_ASTC_6x5_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_6x5_UNORM_BLOCK = Format 163

-- | 'FORMAT_ASTC_6x5_SRGB_BLOCK' specifies a four-component, ASTC compressed
-- format where each 128-bit compressed texel block encodes a 6×5 rectangle
-- of unsigned normalized RGBA texel data with sRGB nonlinear encoding
-- applied to the RGB components.
pattern $bFORMAT_ASTC_6x5_SRGB_BLOCK :: Format
$mFORMAT_ASTC_6x5_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_6x5_SRGB_BLOCK = Format 164

-- | 'FORMAT_ASTC_6x6_UNORM_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 6×6 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_ASTC_6x6_UNORM_BLOCK :: Format
$mFORMAT_ASTC_6x6_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_6x6_UNORM_BLOCK = Format 165

-- | 'FORMAT_ASTC_6x6_SRGB_BLOCK' specifies a four-component, ASTC compressed
-- format where each 128-bit compressed texel block encodes a 6×6 rectangle
-- of unsigned normalized RGBA texel data with sRGB nonlinear encoding
-- applied to the RGB components.
pattern $bFORMAT_ASTC_6x6_SRGB_BLOCK :: Format
$mFORMAT_ASTC_6x6_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_6x6_SRGB_BLOCK = Format 166

-- | 'FORMAT_ASTC_8x5_UNORM_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes an
-- 8×5 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_ASTC_8x5_UNORM_BLOCK :: Format
$mFORMAT_ASTC_8x5_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_8x5_UNORM_BLOCK = Format 167

-- | 'FORMAT_ASTC_8x5_SRGB_BLOCK' specifies a four-component, ASTC compressed
-- format where each 128-bit compressed texel block encodes an 8×5
-- rectangle of unsigned normalized RGBA texel data with sRGB nonlinear
-- encoding applied to the RGB components.
pattern $bFORMAT_ASTC_8x5_SRGB_BLOCK :: Format
$mFORMAT_ASTC_8x5_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_8x5_SRGB_BLOCK = Format 168

-- | 'FORMAT_ASTC_8x6_UNORM_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes an
-- 8×6 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_ASTC_8x6_UNORM_BLOCK :: Format
$mFORMAT_ASTC_8x6_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_8x6_UNORM_BLOCK = Format 169

-- | 'FORMAT_ASTC_8x6_SRGB_BLOCK' specifies a four-component, ASTC compressed
-- format where each 128-bit compressed texel block encodes an 8×6
-- rectangle of unsigned normalized RGBA texel data with sRGB nonlinear
-- encoding applied to the RGB components.
pattern $bFORMAT_ASTC_8x6_SRGB_BLOCK :: Format
$mFORMAT_ASTC_8x6_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_8x6_SRGB_BLOCK = Format 170

-- | 'FORMAT_ASTC_8x8_UNORM_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes an
-- 8×8 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_ASTC_8x8_UNORM_BLOCK :: Format
$mFORMAT_ASTC_8x8_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_8x8_UNORM_BLOCK = Format 171

-- | 'FORMAT_ASTC_8x8_SRGB_BLOCK' specifies a four-component, ASTC compressed
-- format where each 128-bit compressed texel block encodes an 8×8
-- rectangle of unsigned normalized RGBA texel data with sRGB nonlinear
-- encoding applied to the RGB components.
pattern $bFORMAT_ASTC_8x8_SRGB_BLOCK :: Format
$mFORMAT_ASTC_8x8_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_8x8_SRGB_BLOCK = Format 172

-- | 'FORMAT_ASTC_10x5_UNORM_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 10×5 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_ASTC_10x5_UNORM_BLOCK :: Format
$mFORMAT_ASTC_10x5_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_10x5_UNORM_BLOCK = Format 173

-- | 'FORMAT_ASTC_10x5_SRGB_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 10×5 rectangle of unsigned normalized RGBA texel data with sRGB
-- nonlinear encoding applied to the RGB components.
pattern $bFORMAT_ASTC_10x5_SRGB_BLOCK :: Format
$mFORMAT_ASTC_10x5_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_10x5_SRGB_BLOCK = Format 174

-- | 'FORMAT_ASTC_10x6_UNORM_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 10×6 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_ASTC_10x6_UNORM_BLOCK :: Format
$mFORMAT_ASTC_10x6_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_10x6_UNORM_BLOCK = Format 175

-- | 'FORMAT_ASTC_10x6_SRGB_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 10×6 rectangle of unsigned normalized RGBA texel data with sRGB
-- nonlinear encoding applied to the RGB components.
pattern $bFORMAT_ASTC_10x6_SRGB_BLOCK :: Format
$mFORMAT_ASTC_10x6_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_10x6_SRGB_BLOCK = Format 176

-- | 'FORMAT_ASTC_10x8_UNORM_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 10×8 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_ASTC_10x8_UNORM_BLOCK :: Format
$mFORMAT_ASTC_10x8_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_10x8_UNORM_BLOCK = Format 177

-- | 'FORMAT_ASTC_10x8_SRGB_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 10×8 rectangle of unsigned normalized RGBA texel data with sRGB
-- nonlinear encoding applied to the RGB components.
pattern $bFORMAT_ASTC_10x8_SRGB_BLOCK :: Format
$mFORMAT_ASTC_10x8_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_10x8_SRGB_BLOCK = Format 178

-- | 'FORMAT_ASTC_10x10_UNORM_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 10×10 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_ASTC_10x10_UNORM_BLOCK :: Format
$mFORMAT_ASTC_10x10_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_10x10_UNORM_BLOCK = Format 179

-- | 'FORMAT_ASTC_10x10_SRGB_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 10×10 rectangle of unsigned normalized RGBA texel data with sRGB
-- nonlinear encoding applied to the RGB components.
pattern $bFORMAT_ASTC_10x10_SRGB_BLOCK :: Format
$mFORMAT_ASTC_10x10_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_10x10_SRGB_BLOCK = Format 180

-- | 'FORMAT_ASTC_12x10_UNORM_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 12×10 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_ASTC_12x10_UNORM_BLOCK :: Format
$mFORMAT_ASTC_12x10_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_12x10_UNORM_BLOCK = Format 181

-- | 'FORMAT_ASTC_12x10_SRGB_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 12×10 rectangle of unsigned normalized RGBA texel data with sRGB
-- nonlinear encoding applied to the RGB components.
pattern $bFORMAT_ASTC_12x10_SRGB_BLOCK :: Format
$mFORMAT_ASTC_12x10_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_12x10_SRGB_BLOCK = Format 182

-- | 'FORMAT_ASTC_12x12_UNORM_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 12×12 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_ASTC_12x12_UNORM_BLOCK :: Format
$mFORMAT_ASTC_12x12_UNORM_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_12x12_UNORM_BLOCK = Format 183

-- | 'FORMAT_ASTC_12x12_SRGB_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 12×12 rectangle of unsigned normalized RGBA texel data with sRGB
-- nonlinear encoding applied to the RGB components.
pattern $bFORMAT_ASTC_12x12_SRGB_BLOCK :: Format
$mFORMAT_ASTC_12x12_SRGB_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_12x12_SRGB_BLOCK = Format 184

-- | 'FORMAT_A8_UNORM_KHR' specifies a one-component, 8-bit unsigned
-- normalized format that has a single 8-bit A component.
pattern $bFORMAT_A8_UNORM_KHR :: Format
$mFORMAT_A8_UNORM_KHR :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A8_UNORM_KHR = Format 1000470001

-- | 'FORMAT_A1B5G5R5_UNORM_PACK16_KHR' specifies a four-component, 16-bit
-- packed unsigned normalized format that has a 1-bit A component in bit
-- 15, a 5-bit B component in bits 10..14, a 5-bit G component in bits
-- 5..9, and a 5-bit R component in bits 0..4.
pattern $bFORMAT_A1B5G5R5_UNORM_PACK16_KHR :: Format
$mFORMAT_A1B5G5R5_UNORM_PACK16_KHR :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A1B5G5R5_UNORM_PACK16_KHR = Format 1000470000

-- | 'FORMAT_R16G16_S10_5_NV' specifies a two-component, fixed-point format
-- where most significant bit specifies the sign bit, next 10 bits specify
-- the integer value and last 5 bits represent the fractional value.
pattern $bFORMAT_R16G16_S10_5_NV :: Format
$mFORMAT_R16G16_S10_5_NV :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R16G16_S10_5_NV = Format 1000464000

-- | 'FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG' specifies a four-component, PVRTC
-- compressed format where each 64-bit compressed texel block encodes a 4×4
-- rectangle of unsigned normalized RGBA texel data with sRGB nonlinear
-- encoding applied to the RGB components.
pattern $bFORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG :: Format
$mFORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = Format 1000054007

-- | 'FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG' specifies a four-component, PVRTC
-- compressed format where each 64-bit compressed texel block encodes an
-- 8×4 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear
-- encoding applied to the RGB components.
pattern $bFORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG :: Format
$mFORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = Format 1000054006

-- | 'FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG' specifies a four-component, PVRTC
-- compressed format where each 64-bit compressed texel block encodes a 4×4
-- rectangle of unsigned normalized RGBA texel data with sRGB nonlinear
-- encoding applied to the RGB components.
pattern $bFORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG :: Format
$mFORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = Format 1000054005

-- | 'FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG' specifies a four-component, PVRTC
-- compressed format where each 64-bit compressed texel block encodes an
-- 8×4 rectangle of unsigned normalized RGBA texel data with sRGB nonlinear
-- encoding applied to the RGB components.
pattern $bFORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG :: Format
$mFORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = Format 1000054004

-- | 'FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG' specifies a four-component, PVRTC
-- compressed format where each 64-bit compressed texel block encodes a 4×4
-- rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG :: Format
$mFORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = Format 1000054003

-- | 'FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG' specifies a four-component, PVRTC
-- compressed format where each 64-bit compressed texel block encodes an
-- 8×4 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG :: Format
$mFORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = Format 1000054002

-- | 'FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG' specifies a four-component, PVRTC
-- compressed format where each 64-bit compressed texel block encodes a 4×4
-- rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG :: Format
$mFORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = Format 1000054001

-- | 'FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG' specifies a four-component, PVRTC
-- compressed format where each 64-bit compressed texel block encodes an
-- 8×4 rectangle of unsigned normalized RGBA texel data.
pattern $bFORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG :: Format
$mFORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = Format 1000054000

-- | 'FORMAT_ASTC_12x12_SFLOAT_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 12×12 rectangle of signed floating-point RGBA texel data.
pattern $bFORMAT_ASTC_12x12_SFLOAT_BLOCK :: Format
$mFORMAT_ASTC_12x12_SFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_12x12_SFLOAT_BLOCK = Format 1000066013

-- | 'FORMAT_ASTC_12x10_SFLOAT_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 12×10 rectangle of signed floating-point RGBA texel data.
pattern $bFORMAT_ASTC_12x10_SFLOAT_BLOCK :: Format
$mFORMAT_ASTC_12x10_SFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_12x10_SFLOAT_BLOCK = Format 1000066012

-- | 'FORMAT_ASTC_10x10_SFLOAT_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 10×10 rectangle of signed floating-point RGBA texel data.
pattern $bFORMAT_ASTC_10x10_SFLOAT_BLOCK :: Format
$mFORMAT_ASTC_10x10_SFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_10x10_SFLOAT_BLOCK = Format 1000066011

-- | 'FORMAT_ASTC_10x8_SFLOAT_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 10×8 rectangle of signed floating-point RGBA texel data.
pattern $bFORMAT_ASTC_10x8_SFLOAT_BLOCK :: Format
$mFORMAT_ASTC_10x8_SFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_10x8_SFLOAT_BLOCK = Format 1000066010

-- | 'FORMAT_ASTC_10x6_SFLOAT_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 10×6 rectangle of signed floating-point RGBA texel data.
pattern $bFORMAT_ASTC_10x6_SFLOAT_BLOCK :: Format
$mFORMAT_ASTC_10x6_SFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_10x6_SFLOAT_BLOCK = Format 1000066009

-- | 'FORMAT_ASTC_10x5_SFLOAT_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 10×5 rectangle of signed floating-point RGBA texel data.
pattern $bFORMAT_ASTC_10x5_SFLOAT_BLOCK :: Format
$mFORMAT_ASTC_10x5_SFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_10x5_SFLOAT_BLOCK = Format 1000066008

-- | 'FORMAT_ASTC_8x8_SFLOAT_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 8×8 rectangle of signed floating-point RGBA texel data.
pattern $bFORMAT_ASTC_8x8_SFLOAT_BLOCK :: Format
$mFORMAT_ASTC_8x8_SFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_8x8_SFLOAT_BLOCK = Format 1000066007

-- | 'FORMAT_ASTC_8x6_SFLOAT_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 8×6 rectangle of signed floating-point RGBA texel data.
pattern $bFORMAT_ASTC_8x6_SFLOAT_BLOCK :: Format
$mFORMAT_ASTC_8x6_SFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_8x6_SFLOAT_BLOCK = Format 1000066006

-- | 'FORMAT_ASTC_8x5_SFLOAT_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 8×5 rectangle of signed floating-point RGBA texel data.
pattern $bFORMAT_ASTC_8x5_SFLOAT_BLOCK :: Format
$mFORMAT_ASTC_8x5_SFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_8x5_SFLOAT_BLOCK = Format 1000066005

-- | 'FORMAT_ASTC_6x6_SFLOAT_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 6×6 rectangle of signed floating-point RGBA texel data.
pattern $bFORMAT_ASTC_6x6_SFLOAT_BLOCK :: Format
$mFORMAT_ASTC_6x6_SFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_6x6_SFLOAT_BLOCK = Format 1000066004

-- | 'FORMAT_ASTC_6x5_SFLOAT_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 6×5 rectangle of signed floating-point RGBA texel data.
pattern $bFORMAT_ASTC_6x5_SFLOAT_BLOCK :: Format
$mFORMAT_ASTC_6x5_SFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_6x5_SFLOAT_BLOCK = Format 1000066003

-- | 'FORMAT_ASTC_5x5_SFLOAT_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 5×5 rectangle of signed floating-point RGBA texel data.
pattern $bFORMAT_ASTC_5x5_SFLOAT_BLOCK :: Format
$mFORMAT_ASTC_5x5_SFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_5x5_SFLOAT_BLOCK = Format 1000066002

-- | 'FORMAT_ASTC_5x4_SFLOAT_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 5×4 rectangle of signed floating-point RGBA texel data.
pattern $bFORMAT_ASTC_5x4_SFLOAT_BLOCK :: Format
$mFORMAT_ASTC_5x4_SFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_5x4_SFLOAT_BLOCK = Format 1000066001

-- | 'FORMAT_ASTC_4x4_SFLOAT_BLOCK' specifies a four-component, ASTC
-- compressed format where each 128-bit compressed texel block encodes a
-- 4×4 rectangle of signed floating-point RGBA texel data.
pattern $bFORMAT_ASTC_4x4_SFLOAT_BLOCK :: Format
$mFORMAT_ASTC_4x4_SFLOAT_BLOCK :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_ASTC_4x4_SFLOAT_BLOCK = Format 1000066000

-- | 'FORMAT_A4B4G4R4_UNORM_PACK16' specifies a four-component, 16-bit packed
-- unsigned normalized format that has a 4-bit A component in bits 12..15,
-- a 4-bit B component in bits 8..11, a 4-bit G component in bits 4..7, and
-- a 4-bit R component in bits 0..3.
pattern $bFORMAT_A4B4G4R4_UNORM_PACK16 :: Format
$mFORMAT_A4B4G4R4_UNORM_PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A4B4G4R4_UNORM_PACK16 = Format 1000340001

-- | 'FORMAT_A4R4G4B4_UNORM_PACK16' specifies a four-component, 16-bit packed
-- unsigned normalized format that has a 4-bit A component in bits 12..15,
-- a 4-bit R component in bits 8..11, a 4-bit G component in bits 4..7, and
-- a 4-bit B component in bits 0..3.
pattern $bFORMAT_A4R4G4B4_UNORM_PACK16 :: Format
$mFORMAT_A4R4G4B4_UNORM_PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_A4R4G4B4_UNORM_PACK16 = Format 1000340000

-- | 'FORMAT_G16_B16R16_2PLANE_444_UNORM' specifies an unsigned normalized
-- /multi-planar format/ that has a 16-bit G component in each 16-bit word
-- of plane 0, and a two-component, 32-bit BR plane 1 consisting of a
-- 16-bit B component in the word in bytes 0..1, and a 16-bit R component
-- in the word in bytes 2..3. Both planes have the same dimensions and each
-- R, G and B component contributes to a single texel. The location of each
-- plane when this image is in linear layout can be determined via
-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the BR plane.
pattern $bFORMAT_G16_B16R16_2PLANE_444_UNORM :: Format
$mFORMAT_G16_B16R16_2PLANE_444_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G16_B16R16_2PLANE_444_UNORM = Format 1000330003

-- | 'FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16' specifies an unsigned
-- normalized /multi-planar format/ that has a 12-bit G component in the
-- top 12 bits of each 16-bit word of plane 0, and a two-component, 32-bit
-- BR plane 1 consisting of a 12-bit B component in the top 12 bits of the
-- word in bytes 0..1, and a 12-bit R component in the top 12 bits of the
-- word in bytes 2..3, the bottom 4 bits of each word unused. Both planes
-- have the same dimensions and each R, G and B component contributes to a
-- single texel. The location of each plane when this image is in linear
-- layout can be determined via
-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the BR plane.
pattern $bFORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 :: Format
$mFORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = Format 1000330002

-- | 'FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16' specifies an unsigned
-- normalized /multi-planar format/ that has a 10-bit G component in the
-- top 10 bits of each 16-bit word of plane 0, and a two-component, 32-bit
-- BR plane 1 consisting of a 10-bit B component in the top 10 bits of the
-- word in bytes 0..1, and a 10-bit R component in the top 10 bits of the
-- word in bytes 2..3, the bottom 6 bits of each word unused. Both planes
-- have the same dimensions and each R, G and B component contributes to a
-- single texel. The location of each plane when this image is in linear
-- layout can be determined via
-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the BR plane.
pattern $bFORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 :: Format
$mFORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = Format 1000330001

-- | 'FORMAT_G8_B8R8_2PLANE_444_UNORM' specifies an unsigned normalized
-- /multi-planar format/ that has an 8-bit G component in plane 0, and a
-- two-component, 16-bit BR plane 1 consisting of an 8-bit B component in
-- byte 0 and an 8-bit R component in byte 1. Both planes have the same
-- dimensions and each R, G and B component contributes to a single texel.
-- The location of each plane when this image is in linear layout can be
-- determined via 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the BR plane.
pattern $bFORMAT_G8_B8R8_2PLANE_444_UNORM :: Format
$mFORMAT_G8_B8R8_2PLANE_444_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G8_B8R8_2PLANE_444_UNORM = Format 1000330000

-- | 'FORMAT_G16_B16_R16_3PLANE_444_UNORM' specifies an unsigned normalized
-- /multi-planar format/ that has a 16-bit G component in each 16-bit word
-- of plane 0, a 16-bit B component in each 16-bit word of plane 1, and a
-- 16-bit R component in each 16-bit word of plane 2. Each plane has the
-- same dimensions and each R, G and B component contributes to a single
-- texel. The location of each plane when this image is in linear layout
-- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',
-- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'
-- for the G plane,
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the B plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for
-- the R plane.
pattern $bFORMAT_G16_B16_R16_3PLANE_444_UNORM :: Format
$mFORMAT_G16_B16_R16_3PLANE_444_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G16_B16_R16_3PLANE_444_UNORM = Format 1000156033

-- | 'FORMAT_G16_B16R16_2PLANE_422_UNORM' specifies an unsigned normalized
-- /multi-planar format/ that has a 16-bit G component in each 16-bit word
-- of plane 0, and a two-component, 32-bit BR plane 1 consisting of a
-- 16-bit B component in the word in bytes 0..1, and a 16-bit R component
-- in the word in bytes 2..3. The horizontal dimension of the BR plane is
-- halved relative to the image dimensions, and each R and B value is
-- shared with the G components for which
-- \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B = i_R\). The location
-- of each plane when this image is in linear layout can be determined via
-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the BR plane. This format only supports images with a width that is a
-- multiple of two.
pattern $bFORMAT_G16_B16R16_2PLANE_422_UNORM :: Format
$mFORMAT_G16_B16R16_2PLANE_422_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G16_B16R16_2PLANE_422_UNORM = Format 1000156032

-- | 'FORMAT_G16_B16_R16_3PLANE_422_UNORM' specifies an unsigned normalized
-- /multi-planar format/ that has a 16-bit G component in each 16-bit word
-- of plane 0, a 16-bit B component in each 16-bit word of plane 1, and a
-- 16-bit R component in each 16-bit word of plane 2. The horizontal
-- dimension of the R and B plane is halved relative to the image
-- dimensions, and each R and B value is shared with the G components for
-- which \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B =
-- i_R\). The location of each plane when this image is in linear layout
-- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',
-- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'
-- for the G plane,
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the B plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for
-- the R plane. This format only supports images with a width that is a
-- multiple of two.
pattern $bFORMAT_G16_B16_R16_3PLANE_422_UNORM :: Format
$mFORMAT_G16_B16_R16_3PLANE_422_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G16_B16_R16_3PLANE_422_UNORM = Format 1000156031

-- | 'FORMAT_G16_B16R16_2PLANE_420_UNORM' specifies an unsigned normalized
-- /multi-planar format/ that has a 16-bit G component in each 16-bit word
-- of plane 0, and a two-component, 32-bit BR plane 1 consisting of a
-- 16-bit B component in the word in bytes 0..1, and a 16-bit R component
-- in the word in bytes 2..3. The horizontal and vertical dimensions of the
-- BR plane are halved relative to the image dimensions, and each R and B
-- value is shared with the G components for which
-- \(\left\lfloor i_G \times 0.5
-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5
-- \right\rfloor = j_B = j_R\). The location of each plane when this image
-- is in linear layout can be determined via
-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the BR plane. This format only supports images with a width and height
-- that is a multiple of two.
pattern $bFORMAT_G16_B16R16_2PLANE_420_UNORM :: Format
$mFORMAT_G16_B16R16_2PLANE_420_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G16_B16R16_2PLANE_420_UNORM = Format 1000156030

-- | 'FORMAT_G16_B16_R16_3PLANE_420_UNORM' specifies an unsigned normalized
-- /multi-planar format/ that has a 16-bit G component in each 16-bit word
-- of plane 0, a 16-bit B component in each 16-bit word of plane 1, and a
-- 16-bit R component in each 16-bit word of plane 2. The horizontal and
-- vertical dimensions of the R and B planes are halved relative to the
-- image dimensions, and each R and B component is shared with the G
-- components for which \(\left\lfloor i_G \times 0.5
-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5
-- \right\rfloor = j_B = j_R\). The location of each plane when this image
-- is in linear layout can be determined via
-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane,
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the B plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for
-- the R plane. This format only supports images with a width and height
-- that is a multiple of two.
pattern $bFORMAT_G16_B16_R16_3PLANE_420_UNORM :: Format
$mFORMAT_G16_B16_R16_3PLANE_420_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G16_B16_R16_3PLANE_420_UNORM = Format 1000156029

-- | 'FORMAT_B16G16R16G16_422_UNORM' specifies a four-component, 64-bit
-- format containing a pair of G components, an R component, and a B
-- component, collectively encoding a 2×1 rectangle of unsigned normalized
-- RGB texel data. One G value is present at each /i/ coordinate, with the
-- B and R values shared across both G values and thus recorded at half the
-- horizontal resolution of the image. This format has a 16-bit B component
-- in the word in bytes 0..1, a 16-bit G component for the even /i/
-- coordinate in the word in bytes 2..3, a 16-bit R component in the word
-- in bytes 4..5, and a 16-bit G component for the odd /i/ coordinate in
-- the word in bytes 6..7. This format only supports images with a width
-- that is a multiple of two. For the purposes of the constraints on copy
-- extents, this format is treated as a compressed format with a 2×1
-- compressed texel block.
pattern $bFORMAT_B16G16R16G16_422_UNORM :: Format
$mFORMAT_B16G16R16G16_422_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B16G16R16G16_422_UNORM = Format 1000156028

-- | 'FORMAT_G16B16G16R16_422_UNORM' specifies a four-component, 64-bit
-- format containing a pair of G components, an R component, and a B
-- component, collectively encoding a 2×1 rectangle of unsigned normalized
-- RGB texel data. One G value is present at each /i/ coordinate, with the
-- B and R values shared across both G values and thus recorded at half the
-- horizontal resolution of the image. This format has a 16-bit G component
-- for the even /i/ coordinate in the word in bytes 0..1, a 16-bit B
-- component in the word in bytes 2..3, a 16-bit G component for the odd
-- /i/ coordinate in the word in bytes 4..5, and a 16-bit R component in
-- the word in bytes 6..7. This format only supports images with a width
-- that is a multiple of two. For the purposes of the constraints on copy
-- extents, this format is treated as a compressed format with a 2×1
-- compressed texel block.
pattern $bFORMAT_G16B16G16R16_422_UNORM :: Format
$mFORMAT_G16B16G16R16_422_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G16B16G16R16_422_UNORM = Format 1000156027

-- | 'FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16' specifies an
-- unsigned normalized /multi-planar format/ that has a 12-bit G component
-- in the top 12 bits of each 16-bit word of plane 0, a 12-bit B component
-- in the top 12 bits of each 16-bit word of plane 1, and a 12-bit R
-- component in the top 12 bits of each 16-bit word of plane 2, with the
-- bottom 4 bits of each word unused. Each plane has the same dimensions
-- and each R, G and B component contributes to a single texel. The
-- location of each plane when this image is in linear layout can be
-- determined via 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane,
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the B plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for
-- the R plane.
pattern $bFORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 :: Format
$mFORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = Format 1000156026

-- | 'FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16' specifies an unsigned
-- normalized /multi-planar format/ that has a 12-bit G component in the
-- top 12 bits of each 16-bit word of plane 0, and a two-component, 32-bit
-- BR plane 1 consisting of a 12-bit B component in the top 12 bits of the
-- word in bytes 0..1, and a 12-bit R component in the top 12 bits of the
-- word in bytes 2..3, with the bottom 4 bits of each word unused. The
-- horizontal dimension of the BR plane is halved relative to the image
-- dimensions, and each R and B value is shared with the G components for
-- which \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B = i_R\). The
-- location of each plane when this image is in linear layout can be
-- determined via 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the BR plane. This format only supports images with a width that is a
-- multiple of two.
pattern $bFORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 :: Format
$mFORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = Format 1000156025

-- | 'FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16' specifies an
-- unsigned normalized /multi-planar format/ that has a 12-bit G component
-- in the top 12 bits of each 16-bit word of plane 0, a 12-bit B component
-- in the top 12 bits of each 16-bit word of plane 1, and a 12-bit R
-- component in the top 12 bits of each 16-bit word of plane 2, with the
-- bottom 4 bits of each word unused. The horizontal dimension of the R and
-- B plane is halved relative to the image dimensions, and each R and B
-- value is shared with the G components for which
-- \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B =
-- i_R\). The location of each plane when this image is in linear layout
-- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',
-- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'
-- for the G plane,
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the B plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for
-- the R plane. This format only supports images with a width that is a
-- multiple of two.
pattern $bFORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 :: Format
$mFORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = Format 1000156024

-- | 'FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16' specifies an unsigned
-- normalized /multi-planar format/ that has a 12-bit G component in the
-- top 12 bits of each 16-bit word of plane 0, and a two-component, 32-bit
-- BR plane 1 consisting of a 12-bit B component in the top 12 bits of the
-- word in bytes 0..1, and a 12-bit R component in the top 12 bits of the
-- word in bytes 2..3, with the bottom 4 bits of each word unused. The
-- horizontal and vertical dimensions of the BR plane are halved relative
-- to the image dimensions, and each R and B value is shared with the G
-- components for which \(\left\lfloor i_G \times 0.5
-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5
-- \right\rfloor = j_B = j_R\). The location of each plane when this image
-- is in linear layout can be determined via
-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the BR plane. This format only supports images with a width and height
-- that is a multiple of two.
pattern $bFORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 :: Format
$mFORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = Format 1000156023

-- | 'FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16' specifies an
-- unsigned normalized /multi-planar format/ that has a 12-bit G component
-- in the top 12 bits of each 16-bit word of plane 0, a 12-bit B component
-- in the top 12 bits of each 16-bit word of plane 1, and a 12-bit R
-- component in the top 12 bits of each 16-bit word of plane 2, with the
-- bottom 4 bits of each word unused. The horizontal and vertical
-- dimensions of the R and B planes are halved relative to the image
-- dimensions, and each R and B component is shared with the G components
-- for which \(\left\lfloor i_G \times 0.5
-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5
-- \right\rfloor = j_B = j_R\). The location of each plane when this image
-- is in linear layout can be determined via
-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane,
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the B plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for
-- the R plane. This format only supports images with a width and height
-- that is a multiple of two.
pattern $bFORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 :: Format
$mFORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = Format 1000156022

-- | 'FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16' specifies a
-- four-component, 64-bit format containing a pair of G components, an R
-- component, and a B component, collectively encoding a 2×1 rectangle of
-- unsigned normalized RGB texel data. One G value is present at each /i/
-- coordinate, with the B and R values shared across both G values and thus
-- recorded at half the horizontal resolution of the image. This format has
-- a 12-bit B component in the top 12 bits of the word in bytes 0..1, a
-- 12-bit G component for the even /i/ coordinate in the top 12 bits of the
-- word in bytes 2..3, a 12-bit R component in the top 12 bits of the word
-- in bytes 4..5, and a 12-bit G component for the odd /i/ coordinate in
-- the top 12 bits of the word in bytes 6..7, with the bottom 4 bits of
-- each word unused. This format only supports images with a width that is
-- a multiple of two. For the purposes of the constraints on copy extents,
-- this format is treated as a compressed format with a 2×1 compressed
-- texel block.
pattern $bFORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 :: Format
$mFORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = Format 1000156021

-- | 'FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16' specifies a
-- four-component, 64-bit format containing a pair of G components, an R
-- component, and a B component, collectively encoding a 2×1 rectangle of
-- unsigned normalized RGB texel data. One G value is present at each /i/
-- coordinate, with the B and R values shared across both G values and thus
-- recorded at half the horizontal resolution of the image. This format has
-- a 12-bit G component for the even /i/ coordinate in the top 12 bits of
-- the word in bytes 0..1, a 12-bit B component in the top 12 bits of the
-- word in bytes 2..3, a 12-bit G component for the odd /i/ coordinate in
-- the top 12 bits of the word in bytes 4..5, and a 12-bit R component in
-- the top 12 bits of the word in bytes 6..7, with the bottom 4 bits of
-- each word unused. This format only supports images with a width that is
-- a multiple of two. For the purposes of the constraints on copy extents,
-- this format is treated as a compressed format with a 2×1 compressed
-- texel block.
pattern $bFORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 :: Format
$mFORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = Format 1000156020

-- | 'FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16' specifies a four-component,
-- 64-bit unsigned normalized format that has a 12-bit R component in the
-- top 12 bits of the word in bytes 0..1, a 12-bit G component in the top
-- 12 bits of the word in bytes 2..3, a 12-bit B component in the top 12
-- bits of the word in bytes 4..5, and a 12-bit A component in the top 12
-- bits of the word in bytes 6..7, with the bottom 4 bits of each word
-- unused.
pattern $bFORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 :: Format
$mFORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = Format 1000156019

-- | 'FORMAT_R12X4G12X4_UNORM_2PACK16' specifies a two-component, 32-bit
-- unsigned normalized format that has a 12-bit R component in the top 12
-- bits of the word in bytes 0..1, and a 12-bit G component in the top 12
-- bits of the word in bytes 2..3, with the bottom 4 bits of each word
-- unused.
pattern $bFORMAT_R12X4G12X4_UNORM_2PACK16 :: Format
$mFORMAT_R12X4G12X4_UNORM_2PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R12X4G12X4_UNORM_2PACK16 = Format 1000156018

-- | 'FORMAT_R12X4_UNORM_PACK16' specifies a one-component, 16-bit unsigned
-- normalized format that has a single 12-bit R component in the top 12
-- bits of a 16-bit word, with the bottom 4 bits unused.
pattern $bFORMAT_R12X4_UNORM_PACK16 :: Format
$mFORMAT_R12X4_UNORM_PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R12X4_UNORM_PACK16 = Format 1000156017

-- | 'FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16' specifies an
-- unsigned normalized /multi-planar format/ that has a 10-bit G component
-- in the top 10 bits of each 16-bit word of plane 0, a 10-bit B component
-- in the top 10 bits of each 16-bit word of plane 1, and a 10-bit R
-- component in the top 10 bits of each 16-bit word of plane 2, with the
-- bottom 6 bits of each word unused. Each plane has the same dimensions
-- and each R, G and B component contributes to a single texel. The
-- location of each plane when this image is in linear layout can be
-- determined via 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane,
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the B plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for
-- the R plane.
pattern $bFORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 :: Format
$mFORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = Format 1000156016

-- | 'FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16' specifies an unsigned
-- normalized /multi-planar format/ that has a 10-bit G component in the
-- top 10 bits of each 16-bit word of plane 0, and a two-component, 32-bit
-- BR plane 1 consisting of a 10-bit B component in the top 10 bits of the
-- word in bytes 0..1, and a 10-bit R component in the top 10 bits of the
-- word in bytes 2..3, with the bottom 6 bits of each word unused. The
-- horizontal dimension of the BR plane is halved relative to the image
-- dimensions, and each R and B value is shared with the G components for
-- which \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B = i_R\). The
-- location of each plane when this image is in linear layout can be
-- determined via 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the BR plane. This format only supports images with a width that is a
-- multiple of two.
pattern $bFORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 :: Format
$mFORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = Format 1000156015

-- | 'FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16' specifies an
-- unsigned normalized /multi-planar format/ that has a 10-bit G component
-- in the top 10 bits of each 16-bit word of plane 0, a 10-bit B component
-- in the top 10 bits of each 16-bit word of plane 1, and a 10-bit R
-- component in the top 10 bits of each 16-bit word of plane 2, with the
-- bottom 6 bits of each word unused. The horizontal dimension of the R and
-- B plane is halved relative to the image dimensions, and each R and B
-- value is shared with the G components for which
-- \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B =
-- i_R\). The location of each plane when this image is in linear layout
-- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',
-- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'
-- for the G plane,
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the B plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for
-- the R plane. This format only supports images with a width that is a
-- multiple of two.
pattern $bFORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 :: Format
$mFORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = Format 1000156014

-- | 'FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16' specifies an unsigned
-- normalized /multi-planar format/ that has a 10-bit G component in the
-- top 10 bits of each 16-bit word of plane 0, and a two-component, 32-bit
-- BR plane 1 consisting of a 10-bit B component in the top 10 bits of the
-- word in bytes 0..1, and a 10-bit R component in the top 10 bits of the
-- word in bytes 2..3, with the bottom 6 bits of each word unused. The
-- horizontal and vertical dimensions of the BR plane are halved relative
-- to the image dimensions, and each R and B value is shared with the G
-- components for which \(\left\lfloor i_G \times 0.5
-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5
-- \right\rfloor = j_B = j_R\). The location of each plane when this image
-- is in linear layout can be determined via
-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the BR plane. This format only supports images with a width and height
-- that is a multiple of two.
pattern $bFORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 :: Format
$mFORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = Format 1000156013

-- | 'FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16' specifies an
-- unsigned normalized /multi-planar format/ that has a 10-bit G component
-- in the top 10 bits of each 16-bit word of plane 0, a 10-bit B component
-- in the top 10 bits of each 16-bit word of plane 1, and a 10-bit R
-- component in the top 10 bits of each 16-bit word of plane 2, with the
-- bottom 6 bits of each word unused. The horizontal and vertical
-- dimensions of the R and B planes are halved relative to the image
-- dimensions, and each R and B component is shared with the G components
-- for which \(\left\lfloor i_G \times 0.5
-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5
-- \right\rfloor = j_B = j_R\). The location of each plane when this image
-- is in linear layout can be determined via
-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane,
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the B plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for
-- the R plane. This format only supports images with a width and height
-- that is a multiple of two.
pattern $bFORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 :: Format
$mFORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = Format 1000156012

-- | 'FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16' specifies a
-- four-component, 64-bit format containing a pair of G components, an R
-- component, and a B component, collectively encoding a 2×1 rectangle of
-- unsigned normalized RGB texel data. One G value is present at each /i/
-- coordinate, with the B and R values shared across both G values and thus
-- recorded at half the horizontal resolution of the image. This format has
-- a 10-bit B component in the top 10 bits of the word in bytes 0..1, a
-- 10-bit G component for the even /i/ coordinate in the top 10 bits of the
-- word in bytes 2..3, a 10-bit R component in the top 10 bits of the word
-- in bytes 4..5, and a 10-bit G component for the odd /i/ coordinate in
-- the top 10 bits of the word in bytes 6..7, with the bottom 6 bits of
-- each word unused. This format only supports images with a width that is
-- a multiple of two. For the purposes of the constraints on copy extents,
-- this format is treated as a compressed format with a 2×1 compressed
-- texel block.
pattern $bFORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 :: Format
$mFORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = Format 1000156011

-- | 'FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16' specifies a
-- four-component, 64-bit format containing a pair of G components, an R
-- component, and a B component, collectively encoding a 2×1 rectangle of
-- unsigned normalized RGB texel data. One G value is present at each /i/
-- coordinate, with the B and R values shared across both G values and thus
-- recorded at half the horizontal resolution of the image. This format has
-- a 10-bit G component for the even /i/ coordinate in the top 10 bits of
-- the word in bytes 0..1, a 10-bit B component in the top 10 bits of the
-- word in bytes 2..3, a 10-bit G component for the odd /i/ coordinate in
-- the top 10 bits of the word in bytes 4..5, and a 10-bit R component in
-- the top 10 bits of the word in bytes 6..7, with the bottom 6 bits of
-- each word unused. This format only supports images with a width that is
-- a multiple of two. For the purposes of the constraints on copy extents,
-- this format is treated as a compressed format with a 2×1 compressed
-- texel block.
pattern $bFORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 :: Format
$mFORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = Format 1000156010

-- | 'FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16' specifies a four-component,
-- 64-bit unsigned normalized format that has a 10-bit R component in the
-- top 10 bits of the word in bytes 0..1, a 10-bit G component in the top
-- 10 bits of the word in bytes 2..3, a 10-bit B component in the top 10
-- bits of the word in bytes 4..5, and a 10-bit A component in the top 10
-- bits of the word in bytes 6..7, with the bottom 6 bits of each word
-- unused.
pattern $bFORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 :: Format
$mFORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = Format 1000156009

-- | 'FORMAT_R10X6G10X6_UNORM_2PACK16' specifies a two-component, 32-bit
-- unsigned normalized format that has a 10-bit R component in the top 10
-- bits of the word in bytes 0..1, and a 10-bit G component in the top 10
-- bits of the word in bytes 2..3, with the bottom 6 bits of each word
-- unused.
pattern $bFORMAT_R10X6G10X6_UNORM_2PACK16 :: Format
$mFORMAT_R10X6G10X6_UNORM_2PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R10X6G10X6_UNORM_2PACK16 = Format 1000156008

-- | 'FORMAT_R10X6_UNORM_PACK16' specifies a one-component, 16-bit unsigned
-- normalized format that has a single 10-bit R component in the top 10
-- bits of a 16-bit word, with the bottom 6 bits unused.
pattern $bFORMAT_R10X6_UNORM_PACK16 :: Format
$mFORMAT_R10X6_UNORM_PACK16 :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_R10X6_UNORM_PACK16 = Format 1000156007

-- | 'FORMAT_G8_B8_R8_3PLANE_444_UNORM' specifies an unsigned normalized
-- /multi-planar format/ that has an 8-bit G component in plane 0, an 8-bit
-- B component in plane 1, and an 8-bit R component in plane 2. Each plane
-- has the same dimensions and each R, G and B component contributes to a
-- single texel. The location of each plane when this image is in linear
-- layout can be determined via
-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane,
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the B plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for
-- the R plane.
pattern $bFORMAT_G8_B8_R8_3PLANE_444_UNORM :: Format
$mFORMAT_G8_B8_R8_3PLANE_444_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G8_B8_R8_3PLANE_444_UNORM = Format 1000156006

-- | 'FORMAT_G8_B8R8_2PLANE_422_UNORM' specifies an unsigned normalized
-- /multi-planar format/ that has an 8-bit G component in plane 0, and a
-- two-component, 16-bit BR plane 1 consisting of an 8-bit B component in
-- byte 0 and an 8-bit R component in byte 1. The horizontal dimension of
-- the BR plane is halved relative to the image dimensions, and each R and
-- B value is shared with the G components for which
-- \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B = i_R\). The location
-- of each plane when this image is in linear layout can be determined via
-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the BR plane. This format only supports images with a width that is a
-- multiple of two.
pattern $bFORMAT_G8_B8R8_2PLANE_422_UNORM :: Format
$mFORMAT_G8_B8R8_2PLANE_422_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G8_B8R8_2PLANE_422_UNORM = Format 1000156005

-- | 'FORMAT_G8_B8_R8_3PLANE_422_UNORM' specifies an unsigned normalized
-- /multi-planar format/ that has an 8-bit G component in plane 0, an 8-bit
-- B component in plane 1, and an 8-bit R component in plane 2. The
-- horizontal dimension of the R and B plane is halved relative to the
-- image dimensions, and each R and B value is shared with the G components
-- for which \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B =
-- i_R\). The location of each plane when this image is in linear layout
-- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',
-- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'
-- for the G plane,
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the B plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for
-- the R plane. This format only supports images with a width that is a
-- multiple of two.
pattern $bFORMAT_G8_B8_R8_3PLANE_422_UNORM :: Format
$mFORMAT_G8_B8_R8_3PLANE_422_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G8_B8_R8_3PLANE_422_UNORM = Format 1000156004

-- | 'FORMAT_G8_B8R8_2PLANE_420_UNORM' specifies an unsigned normalized
-- /multi-planar format/ that has an 8-bit G component in plane 0, and a
-- two-component, 16-bit BR plane 1 consisting of an 8-bit B component in
-- byte 0 and an 8-bit R component in byte 1. The horizontal and vertical
-- dimensions of the BR plane are halved relative to the image dimensions,
-- and each R and B value is shared with the G components for which
-- \(\left\lfloor i_G \times 0.5
-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5
-- \right\rfloor = j_B = j_R\). The location of each plane when this image
-- is in linear layout can be determined via
-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the BR plane. This format only supports images with a width and height
-- that is a multiple of two.
pattern $bFORMAT_G8_B8R8_2PLANE_420_UNORM :: Format
$mFORMAT_G8_B8R8_2PLANE_420_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G8_B8R8_2PLANE_420_UNORM = Format 1000156003

-- | 'FORMAT_G8_B8_R8_3PLANE_420_UNORM' specifies an unsigned normalized
-- /multi-planar format/ that has an 8-bit G component in plane 0, an 8-bit
-- B component in plane 1, and an 8-bit R component in plane 2. The
-- horizontal and vertical dimensions of the R and B planes are halved
-- relative to the image dimensions, and each R and B component is shared
-- with the G components for which \(\left\lfloor i_G \times 0.5
-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5
-- \right\rfloor = j_B = j_R\). The location of each plane when this image
-- is in linear layout can be determined via
-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for
-- the G plane,
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for
-- the B plane, and
-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for
-- the R plane. This format only supports images with a width and height
-- that is a multiple of two.
pattern $bFORMAT_G8_B8_R8_3PLANE_420_UNORM :: Format
$mFORMAT_G8_B8_R8_3PLANE_420_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G8_B8_R8_3PLANE_420_UNORM = Format 1000156002

-- | 'FORMAT_B8G8R8G8_422_UNORM' specifies a four-component, 32-bit format
-- containing a pair of G components, an R component, and a B component,
-- collectively encoding a 2×1 rectangle of unsigned normalized RGB texel
-- data. One G value is present at each /i/ coordinate, with the B and R
-- values shared across both G values and thus recorded at half the
-- horizontal resolution of the image. This format has an 8-bit B component
-- in byte 0, an 8-bit G component for the even /i/ coordinate in byte 1,
-- an 8-bit R component in byte 2, and an 8-bit G component for the odd /i/
-- coordinate in byte 3. This format only supports images with a width that
-- is a multiple of two. For the purposes of the constraints on copy
-- extents, this format is treated as a compressed format with a 2×1
-- compressed texel block.
pattern $bFORMAT_B8G8R8G8_422_UNORM :: Format
$mFORMAT_B8G8R8G8_422_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_B8G8R8G8_422_UNORM = Format 1000156001

-- | 'FORMAT_G8B8G8R8_422_UNORM' specifies a four-component, 32-bit format
-- containing a pair of G components, an R component, and a B component,
-- collectively encoding a 2×1 rectangle of unsigned normalized RGB texel
-- data. One G value is present at each /i/ coordinate, with the B and R
-- values shared across both G values and thus recorded at half the
-- horizontal resolution of the image. This format has an 8-bit G component
-- for the even /i/ coordinate in byte 0, an 8-bit B component in byte 1,
-- an 8-bit G component for the odd /i/ coordinate in byte 2, and an 8-bit
-- R component in byte 3. This format only supports images with a width
-- that is a multiple of two. For the purposes of the constraints on copy
-- extents, this format is treated as a compressed format with a 2×1
-- compressed texel block.
pattern $bFORMAT_G8B8G8R8_422_UNORM :: Format
$mFORMAT_G8B8G8R8_422_UNORM :: forall {r}. Format -> ((# #) -> r) -> ((# #) -> r) -> r
FORMAT_G8B8G8R8_422_UNORM = Format 1000156000

{-# COMPLETE
  FORMAT_UNDEFINED
  , FORMAT_R4G4_UNORM_PACK8
  , FORMAT_R4G4B4A4_UNORM_PACK16
  , FORMAT_B4G4R4A4_UNORM_PACK16
  , FORMAT_R5G6B5_UNORM_PACK16
  , FORMAT_B5G6R5_UNORM_PACK16
  , FORMAT_R5G5B5A1_UNORM_PACK16
  , FORMAT_B5G5R5A1_UNORM_PACK16
  , FORMAT_A1R5G5B5_UNORM_PACK16
  , FORMAT_R8_UNORM
  , FORMAT_R8_SNORM
  , FORMAT_R8_USCALED
  , FORMAT_R8_SSCALED
  , FORMAT_R8_UINT
  , FORMAT_R8_SINT
  , FORMAT_R8_SRGB
  , FORMAT_R8G8_UNORM
  , FORMAT_R8G8_SNORM
  , FORMAT_R8G8_USCALED
  , FORMAT_R8G8_SSCALED
  , FORMAT_R8G8_UINT
  , FORMAT_R8G8_SINT
  , FORMAT_R8G8_SRGB
  , FORMAT_R8G8B8_UNORM
  , FORMAT_R8G8B8_SNORM
  , FORMAT_R8G8B8_USCALED
  , FORMAT_R8G8B8_SSCALED
  , FORMAT_R8G8B8_UINT
  , FORMAT_R8G8B8_SINT
  , FORMAT_R8G8B8_SRGB
  , FORMAT_B8G8R8_UNORM
  , FORMAT_B8G8R8_SNORM
  , FORMAT_B8G8R8_USCALED
  , FORMAT_B8G8R8_SSCALED
  , FORMAT_B8G8R8_UINT
  , FORMAT_B8G8R8_SINT
  , FORMAT_B8G8R8_SRGB
  , FORMAT_R8G8B8A8_UNORM
  , FORMAT_R8G8B8A8_SNORM
  , FORMAT_R8G8B8A8_USCALED
  , FORMAT_R8G8B8A8_SSCALED
  , FORMAT_R8G8B8A8_UINT
  , FORMAT_R8G8B8A8_SINT
  , FORMAT_R8G8B8A8_SRGB
  , FORMAT_B8G8R8A8_UNORM
  , FORMAT_B8G8R8A8_SNORM
  , FORMAT_B8G8R8A8_USCALED
  , FORMAT_B8G8R8A8_SSCALED
  , FORMAT_B8G8R8A8_UINT
  , FORMAT_B8G8R8A8_SINT
  , FORMAT_B8G8R8A8_SRGB
  , FORMAT_A8B8G8R8_UNORM_PACK32
  , FORMAT_A8B8G8R8_SNORM_PACK32
  , FORMAT_A8B8G8R8_USCALED_PACK32
  , FORMAT_A8B8G8R8_SSCALED_PACK32
  , FORMAT_A8B8G8R8_UINT_PACK32
  , FORMAT_A8B8G8R8_SINT_PACK32
  , FORMAT_A8B8G8R8_SRGB_PACK32
  , FORMAT_A2R10G10B10_UNORM_PACK32
  , FORMAT_A2R10G10B10_SNORM_PACK32
  , FORMAT_A2R10G10B10_USCALED_PACK32
  , FORMAT_A2R10G10B10_SSCALED_PACK32
  , FORMAT_A2R10G10B10_UINT_PACK32
  , FORMAT_A2R10G10B10_SINT_PACK32
  , FORMAT_A2B10G10R10_UNORM_PACK32
  , FORMAT_A2B10G10R10_SNORM_PACK32
  , FORMAT_A2B10G10R10_USCALED_PACK32
  , FORMAT_A2B10G10R10_SSCALED_PACK32
  , FORMAT_A2B10G10R10_UINT_PACK32
  , FORMAT_A2B10G10R10_SINT_PACK32
  , FORMAT_R16_UNORM
  , FORMAT_R16_SNORM
  , FORMAT_R16_USCALED
  , FORMAT_R16_SSCALED
  , FORMAT_R16_UINT
  , FORMAT_R16_SINT
  , FORMAT_R16_SFLOAT
  , FORMAT_R16G16_UNORM
  , FORMAT_R16G16_SNORM
  , FORMAT_R16G16_USCALED
  , FORMAT_R16G16_SSCALED
  , FORMAT_R16G16_UINT
  , FORMAT_R16G16_SINT
  , FORMAT_R16G16_SFLOAT
  , FORMAT_R16G16B16_UNORM
  , FORMAT_R16G16B16_SNORM
  , FORMAT_R16G16B16_USCALED
  , FORMAT_R16G16B16_SSCALED
  , FORMAT_R16G16B16_UINT
  , FORMAT_R16G16B16_SINT
  , FORMAT_R16G16B16_SFLOAT
  , FORMAT_R16G16B16A16_UNORM
  , FORMAT_R16G16B16A16_SNORM
  , FORMAT_R16G16B16A16_USCALED
  , FORMAT_R16G16B16A16_SSCALED
  , FORMAT_R16G16B16A16_UINT
  , FORMAT_R16G16B16A16_SINT
  , FORMAT_R16G16B16A16_SFLOAT
  , FORMAT_R32_UINT
  , FORMAT_R32_SINT
  , FORMAT_R32_SFLOAT
  , FORMAT_R32G32_UINT
  , FORMAT_R32G32_SINT
  , FORMAT_R32G32_SFLOAT
  , FORMAT_R32G32B32_UINT
  , FORMAT_R32G32B32_SINT
  , FORMAT_R32G32B32_SFLOAT
  , FORMAT_R32G32B32A32_UINT
  , FORMAT_R32G32B32A32_SINT
  , FORMAT_R32G32B32A32_SFLOAT
  , FORMAT_R64_UINT
  , FORMAT_R64_SINT
  , FORMAT_R64_SFLOAT
  , FORMAT_R64G64_UINT
  , FORMAT_R64G64_SINT
  , FORMAT_R64G64_SFLOAT
  , FORMAT_R64G64B64_UINT
  , FORMAT_R64G64B64_SINT
  , FORMAT_R64G64B64_SFLOAT
  , FORMAT_R64G64B64A64_UINT
  , FORMAT_R64G64B64A64_SINT
  , FORMAT_R64G64B64A64_SFLOAT
  , FORMAT_B10G11R11_UFLOAT_PACK32
  , FORMAT_E5B9G9R9_UFLOAT_PACK32
  , FORMAT_D16_UNORM
  , FORMAT_X8_D24_UNORM_PACK32
  , FORMAT_D32_SFLOAT
  , FORMAT_S8_UINT
  , FORMAT_D16_UNORM_S8_UINT
  , FORMAT_D24_UNORM_S8_UINT
  , FORMAT_D32_SFLOAT_S8_UINT
  , FORMAT_BC1_RGB_UNORM_BLOCK
  , FORMAT_BC1_RGB_SRGB_BLOCK
  , FORMAT_BC1_RGBA_UNORM_BLOCK
  , FORMAT_BC1_RGBA_SRGB_BLOCK
  , FORMAT_BC2_UNORM_BLOCK
  , FORMAT_BC2_SRGB_BLOCK
  , FORMAT_BC3_UNORM_BLOCK
  , FORMAT_BC3_SRGB_BLOCK
  , FORMAT_BC4_UNORM_BLOCK
  , FORMAT_BC4_SNORM_BLOCK
  , FORMAT_BC5_UNORM_BLOCK
  , FORMAT_BC5_SNORM_BLOCK
  , FORMAT_BC6H_UFLOAT_BLOCK
  , FORMAT_BC6H_SFLOAT_BLOCK
  , FORMAT_BC7_UNORM_BLOCK
  , FORMAT_BC7_SRGB_BLOCK
  , FORMAT_ETC2_R8G8B8_UNORM_BLOCK
  , FORMAT_ETC2_R8G8B8_SRGB_BLOCK
  , FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK
  , FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK
  , FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK
  , FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK
  , FORMAT_EAC_R11_UNORM_BLOCK
  , FORMAT_EAC_R11_SNORM_BLOCK
  , FORMAT_EAC_R11G11_UNORM_BLOCK
  , FORMAT_EAC_R11G11_SNORM_BLOCK
  , FORMAT_ASTC_4x4_UNORM_BLOCK
  , FORMAT_ASTC_4x4_SRGB_BLOCK
  , FORMAT_ASTC_5x4_UNORM_BLOCK
  , FORMAT_ASTC_5x4_SRGB_BLOCK
  , FORMAT_ASTC_5x5_UNORM_BLOCK
  , FORMAT_ASTC_5x5_SRGB_BLOCK
  , FORMAT_ASTC_6x5_UNORM_BLOCK
  , FORMAT_ASTC_6x5_SRGB_BLOCK
  , FORMAT_ASTC_6x6_UNORM_BLOCK
  , FORMAT_ASTC_6x6_SRGB_BLOCK
  , FORMAT_ASTC_8x5_UNORM_BLOCK
  , FORMAT_ASTC_8x5_SRGB_BLOCK
  , FORMAT_ASTC_8x6_UNORM_BLOCK
  , FORMAT_ASTC_8x6_SRGB_BLOCK
  , FORMAT_ASTC_8x8_UNORM_BLOCK
  , FORMAT_ASTC_8x8_SRGB_BLOCK
  , FORMAT_ASTC_10x5_UNORM_BLOCK
  , FORMAT_ASTC_10x5_SRGB_BLOCK
  , FORMAT_ASTC_10x6_UNORM_BLOCK
  , FORMAT_ASTC_10x6_SRGB_BLOCK
  , FORMAT_ASTC_10x8_UNORM_BLOCK
  , FORMAT_ASTC_10x8_SRGB_BLOCK
  , FORMAT_ASTC_10x10_UNORM_BLOCK
  , FORMAT_ASTC_10x10_SRGB_BLOCK
  , FORMAT_ASTC_12x10_UNORM_BLOCK
  , FORMAT_ASTC_12x10_SRGB_BLOCK
  , FORMAT_ASTC_12x12_UNORM_BLOCK
  , FORMAT_ASTC_12x12_SRGB_BLOCK
  , FORMAT_A8_UNORM_KHR
  , FORMAT_A1B5G5R5_UNORM_PACK16_KHR
  , FORMAT_R16G16_S10_5_NV
  , FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG
  , FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG
  , FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG
  , FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG
  , FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG
  , FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG
  , FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG
  , FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG
  , FORMAT_ASTC_12x12_SFLOAT_BLOCK
  , FORMAT_ASTC_12x10_SFLOAT_BLOCK
  , FORMAT_ASTC_10x10_SFLOAT_BLOCK
  , FORMAT_ASTC_10x8_SFLOAT_BLOCK
  , FORMAT_ASTC_10x6_SFLOAT_BLOCK
  , FORMAT_ASTC_10x5_SFLOAT_BLOCK
  , FORMAT_ASTC_8x8_SFLOAT_BLOCK
  , FORMAT_ASTC_8x6_SFLOAT_BLOCK
  , FORMAT_ASTC_8x5_SFLOAT_BLOCK
  , FORMAT_ASTC_6x6_SFLOAT_BLOCK
  , FORMAT_ASTC_6x5_SFLOAT_BLOCK
  , FORMAT_ASTC_5x5_SFLOAT_BLOCK
  , FORMAT_ASTC_5x4_SFLOAT_BLOCK
  , FORMAT_ASTC_4x4_SFLOAT_BLOCK
  , FORMAT_A4B4G4R4_UNORM_PACK16
  , FORMAT_A4R4G4B4_UNORM_PACK16
  , FORMAT_G16_B16R16_2PLANE_444_UNORM
  , FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16
  , FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16
  , FORMAT_G8_B8R8_2PLANE_444_UNORM
  , FORMAT_G16_B16_R16_3PLANE_444_UNORM
  , FORMAT_G16_B16R16_2PLANE_422_UNORM
  , FORMAT_G16_B16_R16_3PLANE_422_UNORM
  , FORMAT_G16_B16R16_2PLANE_420_UNORM
  , FORMAT_G16_B16_R16_3PLANE_420_UNORM
  , FORMAT_B16G16R16G16_422_UNORM
  , FORMAT_G16B16G16R16_422_UNORM
  , FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16
  , FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16
  , FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16
  , FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16
  , FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16
  , FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16
  , FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16
  , FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16
  , FORMAT_R12X4G12X4_UNORM_2PACK16
  , FORMAT_R12X4_UNORM_PACK16
  , FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16
  , FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
  , FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16
  , FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
  , FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16
  , FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
  , FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
  , FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16
  , FORMAT_R10X6G10X6_UNORM_2PACK16
  , FORMAT_R10X6_UNORM_PACK16
  , FORMAT_G8_B8_R8_3PLANE_444_UNORM
  , FORMAT_G8_B8R8_2PLANE_422_UNORM
  , FORMAT_G8_B8_R8_3PLANE_422_UNORM
  , FORMAT_G8_B8R8_2PLANE_420_UNORM
  , FORMAT_G8_B8_R8_3PLANE_420_UNORM
  , FORMAT_B8G8R8G8_422_UNORM
  , FORMAT_G8B8G8R8_422_UNORM ::
    Format
  #-}

conNameFormat :: String
conNameFormat :: String
conNameFormat = String
"Format"

enumPrefixFormat :: String
enumPrefixFormat :: String
enumPrefixFormat = String
"FORMAT_"

showTableFormat :: [(Format, String)]
showTableFormat :: [(Format, String)]
showTableFormat =
  [ (Format
FORMAT_UNDEFINED, String
"UNDEFINED")
  , (Format
FORMAT_R4G4_UNORM_PACK8, String
"R4G4_UNORM_PACK8")
  , (Format
FORMAT_R4G4B4A4_UNORM_PACK16, String
"R4G4B4A4_UNORM_PACK16")
  , (Format
FORMAT_B4G4R4A4_UNORM_PACK16, String
"B4G4R4A4_UNORM_PACK16")
  , (Format
FORMAT_R5G6B5_UNORM_PACK16, String
"R5G6B5_UNORM_PACK16")
  , (Format
FORMAT_B5G6R5_UNORM_PACK16, String
"B5G6R5_UNORM_PACK16")
  , (Format
FORMAT_R5G5B5A1_UNORM_PACK16, String
"R5G5B5A1_UNORM_PACK16")
  , (Format
FORMAT_B5G5R5A1_UNORM_PACK16, String
"B5G5R5A1_UNORM_PACK16")
  , (Format
FORMAT_A1R5G5B5_UNORM_PACK16, String
"A1R5G5B5_UNORM_PACK16")
  , (Format
FORMAT_R8_UNORM, String
"R8_UNORM")
  , (Format
FORMAT_R8_SNORM, String
"R8_SNORM")
  , (Format
FORMAT_R8_USCALED, String
"R8_USCALED")
  , (Format
FORMAT_R8_SSCALED, String
"R8_SSCALED")
  , (Format
FORMAT_R8_UINT, String
"R8_UINT")
  , (Format
FORMAT_R8_SINT, String
"R8_SINT")
  , (Format
FORMAT_R8_SRGB, String
"R8_SRGB")
  , (Format
FORMAT_R8G8_UNORM, String
"R8G8_UNORM")
  , (Format
FORMAT_R8G8_SNORM, String
"R8G8_SNORM")
  , (Format
FORMAT_R8G8_USCALED, String
"R8G8_USCALED")
  , (Format
FORMAT_R8G8_SSCALED, String
"R8G8_SSCALED")
  , (Format
FORMAT_R8G8_UINT, String
"R8G8_UINT")
  , (Format
FORMAT_R8G8_SINT, String
"R8G8_SINT")
  , (Format
FORMAT_R8G8_SRGB, String
"R8G8_SRGB")
  , (Format
FORMAT_R8G8B8_UNORM, String
"R8G8B8_UNORM")
  , (Format
FORMAT_R8G8B8_SNORM, String
"R8G8B8_SNORM")
  , (Format
FORMAT_R8G8B8_USCALED, String
"R8G8B8_USCALED")
  , (Format
FORMAT_R8G8B8_SSCALED, String
"R8G8B8_SSCALED")
  , (Format
FORMAT_R8G8B8_UINT, String
"R8G8B8_UINT")
  , (Format
FORMAT_R8G8B8_SINT, String
"R8G8B8_SINT")
  , (Format
FORMAT_R8G8B8_SRGB, String
"R8G8B8_SRGB")
  , (Format
FORMAT_B8G8R8_UNORM, String
"B8G8R8_UNORM")
  , (Format
FORMAT_B8G8R8_SNORM, String
"B8G8R8_SNORM")
  , (Format
FORMAT_B8G8R8_USCALED, String
"B8G8R8_USCALED")
  , (Format
FORMAT_B8G8R8_SSCALED, String
"B8G8R8_SSCALED")
  , (Format
FORMAT_B8G8R8_UINT, String
"B8G8R8_UINT")
  , (Format
FORMAT_B8G8R8_SINT, String
"B8G8R8_SINT")
  , (Format
FORMAT_B8G8R8_SRGB, String
"B8G8R8_SRGB")
  , (Format
FORMAT_R8G8B8A8_UNORM, String
"R8G8B8A8_UNORM")
  , (Format
FORMAT_R8G8B8A8_SNORM, String
"R8G8B8A8_SNORM")
  , (Format
FORMAT_R8G8B8A8_USCALED, String
"R8G8B8A8_USCALED")
  , (Format
FORMAT_R8G8B8A8_SSCALED, String
"R8G8B8A8_SSCALED")
  , (Format
FORMAT_R8G8B8A8_UINT, String
"R8G8B8A8_UINT")
  , (Format
FORMAT_R8G8B8A8_SINT, String
"R8G8B8A8_SINT")
  , (Format
FORMAT_R8G8B8A8_SRGB, String
"R8G8B8A8_SRGB")
  , (Format
FORMAT_B8G8R8A8_UNORM, String
"B8G8R8A8_UNORM")
  , (Format
FORMAT_B8G8R8A8_SNORM, String
"B8G8R8A8_SNORM")
  , (Format
FORMAT_B8G8R8A8_USCALED, String
"B8G8R8A8_USCALED")
  , (Format
FORMAT_B8G8R8A8_SSCALED, String
"B8G8R8A8_SSCALED")
  , (Format
FORMAT_B8G8R8A8_UINT, String
"B8G8R8A8_UINT")
  , (Format
FORMAT_B8G8R8A8_SINT, String
"B8G8R8A8_SINT")
  , (Format
FORMAT_B8G8R8A8_SRGB, String
"B8G8R8A8_SRGB")
  , (Format
FORMAT_A8B8G8R8_UNORM_PACK32, String
"A8B8G8R8_UNORM_PACK32")
  , (Format
FORMAT_A8B8G8R8_SNORM_PACK32, String
"A8B8G8R8_SNORM_PACK32")
  , (Format
FORMAT_A8B8G8R8_USCALED_PACK32, String
"A8B8G8R8_USCALED_PACK32")
  , (Format
FORMAT_A8B8G8R8_SSCALED_PACK32, String
"A8B8G8R8_SSCALED_PACK32")
  , (Format
FORMAT_A8B8G8R8_UINT_PACK32, String
"A8B8G8R8_UINT_PACK32")
  , (Format
FORMAT_A8B8G8R8_SINT_PACK32, String
"A8B8G8R8_SINT_PACK32")
  , (Format
FORMAT_A8B8G8R8_SRGB_PACK32, String
"A8B8G8R8_SRGB_PACK32")
  ,
    ( Format
FORMAT_A2R10G10B10_UNORM_PACK32
    , String
"A2R10G10B10_UNORM_PACK32"
    )
  ,
    ( Format
FORMAT_A2R10G10B10_SNORM_PACK32
    , String
"A2R10G10B10_SNORM_PACK32"
    )
  ,
    ( Format
FORMAT_A2R10G10B10_USCALED_PACK32
    , String
"A2R10G10B10_USCALED_PACK32"
    )
  ,
    ( Format
FORMAT_A2R10G10B10_SSCALED_PACK32
    , String
"A2R10G10B10_SSCALED_PACK32"
    )
  , (Format
FORMAT_A2R10G10B10_UINT_PACK32, String
"A2R10G10B10_UINT_PACK32")
  , (Format
FORMAT_A2R10G10B10_SINT_PACK32, String
"A2R10G10B10_SINT_PACK32")
  ,
    ( Format
FORMAT_A2B10G10R10_UNORM_PACK32
    , String
"A2B10G10R10_UNORM_PACK32"
    )
  ,
    ( Format
FORMAT_A2B10G10R10_SNORM_PACK32
    , String
"A2B10G10R10_SNORM_PACK32"
    )
  ,
    ( Format
FORMAT_A2B10G10R10_USCALED_PACK32
    , String
"A2B10G10R10_USCALED_PACK32"
    )
  ,
    ( Format
FORMAT_A2B10G10R10_SSCALED_PACK32
    , String
"A2B10G10R10_SSCALED_PACK32"
    )
  , (Format
FORMAT_A2B10G10R10_UINT_PACK32, String
"A2B10G10R10_UINT_PACK32")
  , (Format
FORMAT_A2B10G10R10_SINT_PACK32, String
"A2B10G10R10_SINT_PACK32")
  , (Format
FORMAT_R16_UNORM, String
"R16_UNORM")
  , (Format
FORMAT_R16_SNORM, String
"R16_SNORM")
  , (Format
FORMAT_R16_USCALED, String
"R16_USCALED")
  , (Format
FORMAT_R16_SSCALED, String
"R16_SSCALED")
  , (Format
FORMAT_R16_UINT, String
"R16_UINT")
  , (Format
FORMAT_R16_SINT, String
"R16_SINT")
  , (Format
FORMAT_R16_SFLOAT, String
"R16_SFLOAT")
  , (Format
FORMAT_R16G16_UNORM, String
"R16G16_UNORM")
  , (Format
FORMAT_R16G16_SNORM, String
"R16G16_SNORM")
  , (Format
FORMAT_R16G16_USCALED, String
"R16G16_USCALED")
  , (Format
FORMAT_R16G16_SSCALED, String
"R16G16_SSCALED")
  , (Format
FORMAT_R16G16_UINT, String
"R16G16_UINT")
  , (Format
FORMAT_R16G16_SINT, String
"R16G16_SINT")
  , (Format
FORMAT_R16G16_SFLOAT, String
"R16G16_SFLOAT")
  , (Format
FORMAT_R16G16B16_UNORM, String
"R16G16B16_UNORM")
  , (Format
FORMAT_R16G16B16_SNORM, String
"R16G16B16_SNORM")
  , (Format
FORMAT_R16G16B16_USCALED, String
"R16G16B16_USCALED")
  , (Format
FORMAT_R16G16B16_SSCALED, String
"R16G16B16_SSCALED")
  , (Format
FORMAT_R16G16B16_UINT, String
"R16G16B16_UINT")
  , (Format
FORMAT_R16G16B16_SINT, String
"R16G16B16_SINT")
  , (Format
FORMAT_R16G16B16_SFLOAT, String
"R16G16B16_SFLOAT")
  , (Format
FORMAT_R16G16B16A16_UNORM, String
"R16G16B16A16_UNORM")
  , (Format
FORMAT_R16G16B16A16_SNORM, String
"R16G16B16A16_SNORM")
  , (Format
FORMAT_R16G16B16A16_USCALED, String
"R16G16B16A16_USCALED")
  , (Format
FORMAT_R16G16B16A16_SSCALED, String
"R16G16B16A16_SSCALED")
  , (Format
FORMAT_R16G16B16A16_UINT, String
"R16G16B16A16_UINT")
  , (Format
FORMAT_R16G16B16A16_SINT, String
"R16G16B16A16_SINT")
  , (Format
FORMAT_R16G16B16A16_SFLOAT, String
"R16G16B16A16_SFLOAT")
  , (Format
FORMAT_R32_UINT, String
"R32_UINT")
  , (Format
FORMAT_R32_SINT, String
"R32_SINT")
  , (Format
FORMAT_R32_SFLOAT, String
"R32_SFLOAT")
  , (Format
FORMAT_R32G32_UINT, String
"R32G32_UINT")
  , (Format
FORMAT_R32G32_SINT, String
"R32G32_SINT")
  , (Format
FORMAT_R32G32_SFLOAT, String
"R32G32_SFLOAT")
  , (Format
FORMAT_R32G32B32_UINT, String
"R32G32B32_UINT")
  , (Format
FORMAT_R32G32B32_SINT, String
"R32G32B32_SINT")
  , (Format
FORMAT_R32G32B32_SFLOAT, String
"R32G32B32_SFLOAT")
  , (Format
FORMAT_R32G32B32A32_UINT, String
"R32G32B32A32_UINT")
  , (Format
FORMAT_R32G32B32A32_SINT, String
"R32G32B32A32_SINT")
  , (Format
FORMAT_R32G32B32A32_SFLOAT, String
"R32G32B32A32_SFLOAT")
  , (Format
FORMAT_R64_UINT, String
"R64_UINT")
  , (Format
FORMAT_R64_SINT, String
"R64_SINT")
  , (Format
FORMAT_R64_SFLOAT, String
"R64_SFLOAT")
  , (Format
FORMAT_R64G64_UINT, String
"R64G64_UINT")
  , (Format
FORMAT_R64G64_SINT, String
"R64G64_SINT")
  , (Format
FORMAT_R64G64_SFLOAT, String
"R64G64_SFLOAT")
  , (Format
FORMAT_R64G64B64_UINT, String
"R64G64B64_UINT")
  , (Format
FORMAT_R64G64B64_SINT, String
"R64G64B64_SINT")
  , (Format
FORMAT_R64G64B64_SFLOAT, String
"R64G64B64_SFLOAT")
  , (Format
FORMAT_R64G64B64A64_UINT, String
"R64G64B64A64_UINT")
  , (Format
FORMAT_R64G64B64A64_SINT, String
"R64G64B64A64_SINT")
  , (Format
FORMAT_R64G64B64A64_SFLOAT, String
"R64G64B64A64_SFLOAT")
  , (Format
FORMAT_B10G11R11_UFLOAT_PACK32, String
"B10G11R11_UFLOAT_PACK32")
  , (Format
FORMAT_E5B9G9R9_UFLOAT_PACK32, String
"E5B9G9R9_UFLOAT_PACK32")
  , (Format
FORMAT_D16_UNORM, String
"D16_UNORM")
  , (Format
FORMAT_X8_D24_UNORM_PACK32, String
"X8_D24_UNORM_PACK32")
  , (Format
FORMAT_D32_SFLOAT, String
"D32_SFLOAT")
  , (Format
FORMAT_S8_UINT, String
"S8_UINT")
  , (Format
FORMAT_D16_UNORM_S8_UINT, String
"D16_UNORM_S8_UINT")
  , (Format
FORMAT_D24_UNORM_S8_UINT, String
"D24_UNORM_S8_UINT")
  , (Format
FORMAT_D32_SFLOAT_S8_UINT, String
"D32_SFLOAT_S8_UINT")
  , (Format
FORMAT_BC1_RGB_UNORM_BLOCK, String
"BC1_RGB_UNORM_BLOCK")
  , (Format
FORMAT_BC1_RGB_SRGB_BLOCK, String
"BC1_RGB_SRGB_BLOCK")
  , (Format
FORMAT_BC1_RGBA_UNORM_BLOCK, String
"BC1_RGBA_UNORM_BLOCK")
  , (Format
FORMAT_BC1_RGBA_SRGB_BLOCK, String
"BC1_RGBA_SRGB_BLOCK")
  , (Format
FORMAT_BC2_UNORM_BLOCK, String
"BC2_UNORM_BLOCK")
  , (Format
FORMAT_BC2_SRGB_BLOCK, String
"BC2_SRGB_BLOCK")
  , (Format
FORMAT_BC3_UNORM_BLOCK, String
"BC3_UNORM_BLOCK")
  , (Format
FORMAT_BC3_SRGB_BLOCK, String
"BC3_SRGB_BLOCK")
  , (Format
FORMAT_BC4_UNORM_BLOCK, String
"BC4_UNORM_BLOCK")
  , (Format
FORMAT_BC4_SNORM_BLOCK, String
"BC4_SNORM_BLOCK")
  , (Format
FORMAT_BC5_UNORM_BLOCK, String
"BC5_UNORM_BLOCK")
  , (Format
FORMAT_BC5_SNORM_BLOCK, String
"BC5_SNORM_BLOCK")
  , (Format
FORMAT_BC6H_UFLOAT_BLOCK, String
"BC6H_UFLOAT_BLOCK")
  , (Format
FORMAT_BC6H_SFLOAT_BLOCK, String
"BC6H_SFLOAT_BLOCK")
  , (Format
FORMAT_BC7_UNORM_BLOCK, String
"BC7_UNORM_BLOCK")
  , (Format
FORMAT_BC7_SRGB_BLOCK, String
"BC7_SRGB_BLOCK")
  , (Format
FORMAT_ETC2_R8G8B8_UNORM_BLOCK, String
"ETC2_R8G8B8_UNORM_BLOCK")
  , (Format
FORMAT_ETC2_R8G8B8_SRGB_BLOCK, String
"ETC2_R8G8B8_SRGB_BLOCK")
  ,
    ( Format
FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK
    , String
"ETC2_R8G8B8A1_UNORM_BLOCK"
    )
  ,
    ( Format
FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK
    , String
"ETC2_R8G8B8A1_SRGB_BLOCK"
    )
  ,
    ( Format
FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK
    , String
"ETC2_R8G8B8A8_UNORM_BLOCK"
    )
  ,
    ( Format
FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK
    , String
"ETC2_R8G8B8A8_SRGB_BLOCK"
    )
  , (Format
FORMAT_EAC_R11_UNORM_BLOCK, String
"EAC_R11_UNORM_BLOCK")
  , (Format
FORMAT_EAC_R11_SNORM_BLOCK, String
"EAC_R11_SNORM_BLOCK")
  , (Format
FORMAT_EAC_R11G11_UNORM_BLOCK, String
"EAC_R11G11_UNORM_BLOCK")
  , (Format
FORMAT_EAC_R11G11_SNORM_BLOCK, String
"EAC_R11G11_SNORM_BLOCK")
  , (Format
FORMAT_ASTC_4x4_UNORM_BLOCK, String
"ASTC_4x4_UNORM_BLOCK")
  , (Format
FORMAT_ASTC_4x4_SRGB_BLOCK, String
"ASTC_4x4_SRGB_BLOCK")
  , (Format
FORMAT_ASTC_5x4_UNORM_BLOCK, String
"ASTC_5x4_UNORM_BLOCK")
  , (Format
FORMAT_ASTC_5x4_SRGB_BLOCK, String
"ASTC_5x4_SRGB_BLOCK")
  , (Format
FORMAT_ASTC_5x5_UNORM_BLOCK, String
"ASTC_5x5_UNORM_BLOCK")
  , (Format
FORMAT_ASTC_5x5_SRGB_BLOCK, String
"ASTC_5x5_SRGB_BLOCK")
  , (Format
FORMAT_ASTC_6x5_UNORM_BLOCK, String
"ASTC_6x5_UNORM_BLOCK")
  , (Format
FORMAT_ASTC_6x5_SRGB_BLOCK, String
"ASTC_6x5_SRGB_BLOCK")
  , (Format
FORMAT_ASTC_6x6_UNORM_BLOCK, String
"ASTC_6x6_UNORM_BLOCK")
  , (Format
FORMAT_ASTC_6x6_SRGB_BLOCK, String
"ASTC_6x6_SRGB_BLOCK")
  , (Format
FORMAT_ASTC_8x5_UNORM_BLOCK, String
"ASTC_8x5_UNORM_BLOCK")
  , (Format
FORMAT_ASTC_8x5_SRGB_BLOCK, String
"ASTC_8x5_SRGB_BLOCK")
  , (Format
FORMAT_ASTC_8x6_UNORM_BLOCK, String
"ASTC_8x6_UNORM_BLOCK")
  , (Format
FORMAT_ASTC_8x6_SRGB_BLOCK, String
"ASTC_8x6_SRGB_BLOCK")
  , (Format
FORMAT_ASTC_8x8_UNORM_BLOCK, String
"ASTC_8x8_UNORM_BLOCK")
  , (Format
FORMAT_ASTC_8x8_SRGB_BLOCK, String
"ASTC_8x8_SRGB_BLOCK")
  , (Format
FORMAT_ASTC_10x5_UNORM_BLOCK, String
"ASTC_10x5_UNORM_BLOCK")
  , (Format
FORMAT_ASTC_10x5_SRGB_BLOCK, String
"ASTC_10x5_SRGB_BLOCK")
  , (Format
FORMAT_ASTC_10x6_UNORM_BLOCK, String
"ASTC_10x6_UNORM_BLOCK")
  , (Format
FORMAT_ASTC_10x6_SRGB_BLOCK, String
"ASTC_10x6_SRGB_BLOCK")
  , (Format
FORMAT_ASTC_10x8_UNORM_BLOCK, String
"ASTC_10x8_UNORM_BLOCK")
  , (Format
FORMAT_ASTC_10x8_SRGB_BLOCK, String
"ASTC_10x8_SRGB_BLOCK")
  , (Format
FORMAT_ASTC_10x10_UNORM_BLOCK, String
"ASTC_10x10_UNORM_BLOCK")
  , (Format
FORMAT_ASTC_10x10_SRGB_BLOCK, String
"ASTC_10x10_SRGB_BLOCK")
  , (Format
FORMAT_ASTC_12x10_UNORM_BLOCK, String
"ASTC_12x10_UNORM_BLOCK")
  , (Format
FORMAT_ASTC_12x10_SRGB_BLOCK, String
"ASTC_12x10_SRGB_BLOCK")
  , (Format
FORMAT_ASTC_12x12_UNORM_BLOCK, String
"ASTC_12x12_UNORM_BLOCK")
  , (Format
FORMAT_ASTC_12x12_SRGB_BLOCK, String
"ASTC_12x12_SRGB_BLOCK")
  , (Format
FORMAT_A8_UNORM_KHR, String
"A8_UNORM_KHR")
  ,
    ( Format
FORMAT_A1B5G5R5_UNORM_PACK16_KHR
    , String
"A1B5G5R5_UNORM_PACK16_KHR"
    )
  , (Format
FORMAT_R16G16_S10_5_NV, String
"R16G16_S10_5_NV")
  ,
    ( Format
FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG
    , String
"PVRTC2_4BPP_SRGB_BLOCK_IMG"
    )
  ,
    ( Format
FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG
    , String
"PVRTC2_2BPP_SRGB_BLOCK_IMG"
    )
  ,
    ( Format
FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG
    , String
"PVRTC1_4BPP_SRGB_BLOCK_IMG"
    )
  ,
    ( Format
FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG
    , String
"PVRTC1_2BPP_SRGB_BLOCK_IMG"
    )
  ,
    ( Format
FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG
    , String
"PVRTC2_4BPP_UNORM_BLOCK_IMG"
    )
  ,
    ( Format
FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG
    , String
"PVRTC2_2BPP_UNORM_BLOCK_IMG"
    )
  ,
    ( Format
FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG
    , String
"PVRTC1_4BPP_UNORM_BLOCK_IMG"
    )
  ,
    ( Format
FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG
    , String
"PVRTC1_2BPP_UNORM_BLOCK_IMG"
    )
  , (Format
FORMAT_ASTC_12x12_SFLOAT_BLOCK, String
"ASTC_12x12_SFLOAT_BLOCK")
  , (Format
FORMAT_ASTC_12x10_SFLOAT_BLOCK, String
"ASTC_12x10_SFLOAT_BLOCK")
  , (Format
FORMAT_ASTC_10x10_SFLOAT_BLOCK, String
"ASTC_10x10_SFLOAT_BLOCK")
  , (Format
FORMAT_ASTC_10x8_SFLOAT_BLOCK, String
"ASTC_10x8_SFLOAT_BLOCK")
  , (Format
FORMAT_ASTC_10x6_SFLOAT_BLOCK, String
"ASTC_10x6_SFLOAT_BLOCK")
  , (Format
FORMAT_ASTC_10x5_SFLOAT_BLOCK, String
"ASTC_10x5_SFLOAT_BLOCK")
  , (Format
FORMAT_ASTC_8x8_SFLOAT_BLOCK, String
"ASTC_8x8_SFLOAT_BLOCK")
  , (Format
FORMAT_ASTC_8x6_SFLOAT_BLOCK, String
"ASTC_8x6_SFLOAT_BLOCK")
  , (Format
FORMAT_ASTC_8x5_SFLOAT_BLOCK, String
"ASTC_8x5_SFLOAT_BLOCK")
  , (Format
FORMAT_ASTC_6x6_SFLOAT_BLOCK, String
"ASTC_6x6_SFLOAT_BLOCK")
  , (Format
FORMAT_ASTC_6x5_SFLOAT_BLOCK, String
"ASTC_6x5_SFLOAT_BLOCK")
  , (Format
FORMAT_ASTC_5x5_SFLOAT_BLOCK, String
"ASTC_5x5_SFLOAT_BLOCK")
  , (Format
FORMAT_ASTC_5x4_SFLOAT_BLOCK, String
"ASTC_5x4_SFLOAT_BLOCK")
  , (Format
FORMAT_ASTC_4x4_SFLOAT_BLOCK, String
"ASTC_4x4_SFLOAT_BLOCK")
  , (Format
FORMAT_A4B4G4R4_UNORM_PACK16, String
"A4B4G4R4_UNORM_PACK16")
  , (Format
FORMAT_A4R4G4B4_UNORM_PACK16, String
"A4R4G4B4_UNORM_PACK16")
  ,
    ( Format
FORMAT_G16_B16R16_2PLANE_444_UNORM
    , String
"G16_B16R16_2PLANE_444_UNORM"
    )
  ,
    ( Format
FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16
    , String
"G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16"
    )
  ,
    ( Format
FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16
    , String
"G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16"
    )
  ,
    ( Format
FORMAT_G8_B8R8_2PLANE_444_UNORM
    , String
"G8_B8R8_2PLANE_444_UNORM"
    )
  ,
    ( Format
FORMAT_G16_B16_R16_3PLANE_444_UNORM
    , String
"G16_B16_R16_3PLANE_444_UNORM"
    )
  ,
    ( Format
FORMAT_G16_B16R16_2PLANE_422_UNORM
    , String
"G16_B16R16_2PLANE_422_UNORM"
    )
  ,
    ( Format
FORMAT_G16_B16_R16_3PLANE_422_UNORM
    , String
"G16_B16_R16_3PLANE_422_UNORM"
    )
  ,
    ( Format
FORMAT_G16_B16R16_2PLANE_420_UNORM
    , String
"G16_B16R16_2PLANE_420_UNORM"
    )
  ,
    ( Format
FORMAT_G16_B16_R16_3PLANE_420_UNORM
    , String
"G16_B16_R16_3PLANE_420_UNORM"
    )
  , (Format
FORMAT_B16G16R16G16_422_UNORM, String
"B16G16R16G16_422_UNORM")
  , (Format
FORMAT_G16B16G16R16_422_UNORM, String
"G16B16G16R16_422_UNORM")
  ,
    ( Format
FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16
    , String
"G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16"
    )
  ,
    ( Format
FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16
    , String
"G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16"
    )
  ,
    ( Format
FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16
    , String
"G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16"
    )
  ,
    ( Format
FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16
    , String
"G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16"
    )
  ,
    ( Format
FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16
    , String
"G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16"
    )
  ,
    ( Format
FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16
    , String
"B12X4G12X4R12X4G12X4_422_UNORM_4PACK16"
    )
  ,
    ( Format
FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16
    , String
"G12X4B12X4G12X4R12X4_422_UNORM_4PACK16"
    )
  ,
    ( Format
FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16
    , String
"R12X4G12X4B12X4A12X4_UNORM_4PACK16"
    )
  ,
    ( Format
FORMAT_R12X4G12X4_UNORM_2PACK16
    , String
"R12X4G12X4_UNORM_2PACK16"
    )
  , (Format
FORMAT_R12X4_UNORM_PACK16, String
"R12X4_UNORM_PACK16")
  ,
    ( Format
FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16
    , String
"G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16"
    )
  ,
    ( Format
FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
    , String
"G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16"
    )
  ,
    ( Format
FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16
    , String
"G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16"
    )
  ,
    ( Format
FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
    , String
"G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16"
    )
  ,
    ( Format
FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16
    , String
"G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16"
    )
  ,
    ( Format
FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
    , String
"B10X6G10X6R10X6G10X6_422_UNORM_4PACK16"
    )
  ,
    ( Format
FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
    , String
"G10X6B10X6G10X6R10X6_422_UNORM_4PACK16"
    )
  ,
    ( Format
FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16
    , String
"R10X6G10X6B10X6A10X6_UNORM_4PACK16"
    )
  ,
    ( Format
FORMAT_R10X6G10X6_UNORM_2PACK16
    , String
"R10X6G10X6_UNORM_2PACK16"
    )
  , (Format
FORMAT_R10X6_UNORM_PACK16, String
"R10X6_UNORM_PACK16")
  ,
    ( Format
FORMAT_G8_B8_R8_3PLANE_444_UNORM
    , String
"G8_B8_R8_3PLANE_444_UNORM"
    )
  ,
    ( Format
FORMAT_G8_B8R8_2PLANE_422_UNORM
    , String
"G8_B8R8_2PLANE_422_UNORM"
    )
  ,
    ( Format
FORMAT_G8_B8_R8_3PLANE_422_UNORM
    , String
"G8_B8_R8_3PLANE_422_UNORM"
    )
  ,
    ( Format
FORMAT_G8_B8R8_2PLANE_420_UNORM
    , String
"G8_B8R8_2PLANE_420_UNORM"
    )
  ,
    ( Format
FORMAT_G8_B8_R8_3PLANE_420_UNORM
    , String
"G8_B8_R8_3PLANE_420_UNORM"
    )
  , (Format
FORMAT_B8G8R8G8_422_UNORM, String
"B8G8R8G8_422_UNORM")
  , (Format
FORMAT_G8B8G8R8_422_UNORM, String
"G8B8G8R8_422_UNORM")
  ]

instance Show Format where
  showsPrec :: Int -> Format -> ShowS
showsPrec =
    forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
      String
enumPrefixFormat
      [(Format, String)]
showTableFormat
      String
conNameFormat
      (\(Format Int32
x) -> Int32
x)
      (forall a. Show a => Int -> a -> ShowS
showsPrec Int
11)

instance Read Format where
  readPrec :: ReadPrec Format
readPrec =
    forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
      String
enumPrefixFormat
      [(Format, String)]
showTableFormat
      String
conNameFormat
      Int32 -> Format
Format