vulkan 1.0.0.0 → 1.2.0.0
raw patch · 19 files changed
+1561/−78 lines, 19 filesdep +vector-sizeddep −fixed-vector
Dependencies added: vector-sized
Dependencies removed: fixed-vector
Files
- changelog.md +3/−0
- readme.md +0/−4
- src/Graphics/Vulkan/CommandBuffer.hs +29/−0
- src/Graphics/Vulkan/CommandBufferBuilding.hs +53/−9
- src/Graphics/Vulkan/Constants.hs +27/−0
- src/Graphics/Vulkan/Core.hs +570/−0
- src/Graphics/Vulkan/DescriptorSet.hs +47/−0
- src/Graphics/Vulkan/DeviceInitialization.hs +47/−14
- src/Graphics/Vulkan/ExtensionDiscovery.hs +3/−5
- src/Graphics/Vulkan/Image.hs +79/−0
- src/Graphics/Vulkan/ImageView.hs +66/−0
- src/Graphics/Vulkan/KHR/Surface.hs +48/−0
- src/Graphics/Vulkan/LayerDiscovery.hs +4/−6
- src/Graphics/Vulkan/Memory.hs +50/−0
- src/Graphics/Vulkan/Pass.hs +48/−0
- src/Graphics/Vulkan/Pipeline.hs +299/−5
- src/Graphics/Vulkan/Query.hs +31/−0
- src/Graphics/Vulkan/Sampler.hs +123/−0
- vulkan.cabal +34/−35
changelog.md view
@@ -1,5 +1,8 @@ # Change Log +## [1.2.0.0] - 2016-02-29+Add read and show instances for enumerations+ ## [1.0.0.0] - 2016-02-25 Split the interface up into many modules.
readme.md view
@@ -7,10 +7,6 @@ This package requires GHC 8.0 or higher due to the use of the `DuplicateRecordFields` and `Strict` language extensions. -I highly recommend compiling with `-O0` at the moment as compiling with-optimizations leads to huge compile times. -- ## Current Status All the core Vulkan functionality is here.
src/Graphics/Vulkan/CommandBuffer.hs view
@@ -8,6 +8,11 @@ import Graphics.Vulkan.Pass( VkFramebuffer(..) , VkRenderPass(..) )+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -25,6 +30,13 @@ ) import Data.Void( Void )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Query( VkQueryPipelineStatisticFlags(..) , VkQueryControlFlagBits(..) , VkQueryControlFlags(..)@@ -39,6 +51,23 @@ newtype VkCommandBufferLevel = VkCommandBufferLevel Int32 deriving (Eq, Storable)++instance Show VkCommandBufferLevel where+ showsPrec _ VK_COMMAND_BUFFER_LEVEL_PRIMARY = showString "VK_COMMAND_BUFFER_LEVEL_PRIMARY"+ showsPrec _ VK_COMMAND_BUFFER_LEVEL_SECONDARY = showString "VK_COMMAND_BUFFER_LEVEL_SECONDARY"+ showsPrec p (VkCommandBufferLevel x) = showParen (p >= 11) (showString "VkCommandBufferLevel " . showsPrec 11 x)++instance Read VkCommandBufferLevel where+ readPrec = parens ( choose [ ("VK_COMMAND_BUFFER_LEVEL_PRIMARY", pure VK_COMMAND_BUFFER_LEVEL_PRIMARY)+ , ("VK_COMMAND_BUFFER_LEVEL_SECONDARY", pure VK_COMMAND_BUFFER_LEVEL_SECONDARY)+ ] ++++ prec 10 (do+ expectP (Ident "VkCommandBufferLevel")+ v <- step readPrec+ pure (VkCommandBufferLevel v)+ )+ )+ pattern VK_COMMAND_BUFFER_LEVEL_PRIMARY = VkCommandBufferLevel 0
src/Graphics/Vulkan/CommandBufferBuilding.hs view
@@ -4,6 +4,8 @@ {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} module Graphics.Vulkan.CommandBufferBuilding where+import Data.Vector.Storable.Sized( Vector+ ) import Graphics.Vulkan.Buffer( VkBuffer(..) ) import Graphics.Vulkan.Pass( VkDependencyFlagBits(..)@@ -13,8 +15,13 @@ , VkDependencyFlags(..) , VkAccessFlagBits(..) )+import Text.Read.Lex( Lexeme(Ident)+ ) import Graphics.Vulkan.Event( VkEvent(..) )+import GHC.Read( expectP+ , choose+ ) import Graphics.Vulkan.Pipeline( VkPipelineStageFlagBits(..) , VkPipelineStageFlags(..) , VkPipeline(..)@@ -33,8 +40,6 @@ ) import Data.Int( Int32 )-import Data.Vector.Fixed.Cont( ToPeano- ) import Data.Bits( Bits , FiniteBits )@@ -44,6 +49,13 @@ ) import Graphics.Vulkan.PipelineLayout( VkPipelineLayout(..) )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Shader( VkShaderStageFlagBits(..) , VkShaderStageFlags(..) )@@ -61,8 +73,6 @@ , VkQueryPool(..) , VkQueryResultFlags(..) )-import Data.Vector.Fixed.Storable( Vec- ) import Graphics.Vulkan.OtherTypes( VkImageMemoryBarrier(..) , VkMemoryBarrier(..) , VkBufferMemoryBarrier(..)@@ -229,6 +239,23 @@ newtype VkIndexType = VkIndexType Int32 deriving (Eq, Storable) +instance Show VkIndexType where+ showsPrec _ VK_INDEX_TYPE_UINT16 = showString "VK_INDEX_TYPE_UINT16"+ showsPrec _ VK_INDEX_TYPE_UINT32 = showString "VK_INDEX_TYPE_UINT32"+ showsPrec p (VkIndexType x) = showParen (p >= 11) (showString "VkIndexType " . showsPrec 11 x)++instance Read VkIndexType where+ readPrec = parens ( choose [ ("VK_INDEX_TYPE_UINT16", pure VK_INDEX_TYPE_UINT16)+ , ("VK_INDEX_TYPE_UINT32", pure VK_INDEX_TYPE_UINT32)+ ] ++++ prec 10 (do+ expectP (Ident "VkIndexType")+ v <- step readPrec+ pure (VkIndexType v)+ )+ )++ pattern VK_INDEX_TYPE_UINT16 = VkIndexType 0 pattern VK_INDEX_TYPE_UINT32 = VkIndexType 1@@ -434,9 +461,9 @@ data VkImageBlit = VkImageBlit{ vkSrcSubresource :: VkImageSubresourceLayers - , vkSrcOffsets :: Vec (ToPeano 2) VkOffset3D + , vkSrcOffsets :: Vector 2 VkOffset3D , vkDstSubresource :: VkImageSubresourceLayers - , vkDstOffsets :: Vec (ToPeano 2) VkOffset3D + , vkDstOffsets :: Vector 2 VkOffset3D } deriving (Eq) @@ -501,9 +528,9 @@ pattern VK_STENCIL_FRONT_AND_BACK = VkStencilFaceFlagBits 0x3 -- | // Union allowing specification of floating point, integer, or unsigned integer color data. Actual value selected is based on image/attachment being cleared.-data VkClearColorValue = VkFloat (Vec (ToPeano 4) CFloat) - | VkInt (Vec (ToPeano 4) Int32) - | VkUint (Vec (ToPeano 4) Word32) +data VkClearColorValue = VkFloat (Vector 4 CFloat) + | VkInt (Vector 4 Int32) + | VkUint (Vector 4 Word32) deriving (Eq) -- | _Note_: peek is undefined as we wouldn't know which constructor to use@@ -521,6 +548,23 @@ newtype VkSubpassContents = VkSubpassContents Int32 deriving (Eq, Storable)++instance Show VkSubpassContents where+ showsPrec _ VK_SUBPASS_CONTENTS_INLINE = showString "VK_SUBPASS_CONTENTS_INLINE"+ showsPrec _ VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = showString "VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS"+ showsPrec p (VkSubpassContents x) = showParen (p >= 11) (showString "VkSubpassContents " . showsPrec 11 x)++instance Read VkSubpassContents where+ readPrec = parens ( choose [ ("VK_SUBPASS_CONTENTS_INLINE", pure VK_SUBPASS_CONTENTS_INLINE)+ , ("VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS", pure VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS)+ ] ++++ prec 10 (do+ expectP (Ident "VkSubpassContents")+ v <- step readPrec+ pure (VkSubpassContents v)+ )+ )+ pattern VK_SUBPASS_CONTENTS_INLINE = VkSubpassContents 0
src/Graphics/Vulkan/Constants.hs view
@@ -2,6 +2,11 @@ {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} module Graphics.Vulkan.Constants where+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -9,6 +14,13 @@ ) import Foreign.Storable( Storable(..) )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) pattern VK_SUBPASS_EXTERNAL = 0xffffffff :: Word32 @@ -42,6 +54,21 @@ newtype VkPipelineCacheHeaderVersion = VkPipelineCacheHeaderVersion Int32 deriving (Eq, Storable)++instance Show VkPipelineCacheHeaderVersion where+ showsPrec _ VK_PIPELINE_CACHE_HEADER_VERSION_ONE = showString "VK_PIPELINE_CACHE_HEADER_VERSION_ONE"+ showsPrec p (VkPipelineCacheHeaderVersion x) = showParen (p >= 11) (showString "VkPipelineCacheHeaderVersion " . showsPrec 11 x)++instance Read VkPipelineCacheHeaderVersion where+ readPrec = parens ( choose [ ("VK_PIPELINE_CACHE_HEADER_VERSION_ONE", pure VK_PIPELINE_CACHE_HEADER_VERSION_ONE)+ ] ++++ prec 10 (do+ expectP (Ident "VkPipelineCacheHeaderVersion")+ v <- step readPrec+ pure (VkPipelineCacheHeaderVersion v)+ )+ )+ pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE = VkPipelineCacheHeaderVersion 1
src/Graphics/Vulkan/Core.hs view
@@ -3,6 +3,11 @@ {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} module Graphics.Vulkan.Core where+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -12,6 +17,13 @@ ) import Foreign.Storable( Storable(..) )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Foreign.C.Types( CFloat , CFloat(..) )@@ -23,6 +35,389 @@ newtype VkFormat = VkFormat Int32 deriving (Eq, Storable) +instance Show VkFormat where+ showsPrec _ VK_FORMAT_UNDEFINED = showString "VK_FORMAT_UNDEFINED"+ showsPrec _ VK_FORMAT_R4G4_UNORM_PACK8 = showString "VK_FORMAT_R4G4_UNORM_PACK8"+ showsPrec _ VK_FORMAT_R4G4B4A4_UNORM_PACK16 = showString "VK_FORMAT_R4G4B4A4_UNORM_PACK16"+ showsPrec _ VK_FORMAT_B4G4R4A4_UNORM_PACK16 = showString "VK_FORMAT_B4G4R4A4_UNORM_PACK16"+ showsPrec _ VK_FORMAT_R5G6B5_UNORM_PACK16 = showString "VK_FORMAT_R5G6B5_UNORM_PACK16"+ showsPrec _ VK_FORMAT_B5G6R5_UNORM_PACK16 = showString "VK_FORMAT_B5G6R5_UNORM_PACK16"+ showsPrec _ VK_FORMAT_R5G5B5A1_UNORM_PACK16 = showString "VK_FORMAT_R5G5B5A1_UNORM_PACK16"+ showsPrec _ VK_FORMAT_B5G5R5A1_UNORM_PACK16 = showString "VK_FORMAT_B5G5R5A1_UNORM_PACK16"+ showsPrec _ VK_FORMAT_A1R5G5B5_UNORM_PACK16 = showString "VK_FORMAT_A1R5G5B5_UNORM_PACK16"+ showsPrec _ VK_FORMAT_R8_UNORM = showString "VK_FORMAT_R8_UNORM"+ showsPrec _ VK_FORMAT_R8_SNORM = showString "VK_FORMAT_R8_SNORM"+ showsPrec _ VK_FORMAT_R8_USCALED = showString "VK_FORMAT_R8_USCALED"+ showsPrec _ VK_FORMAT_R8_SSCALED = showString "VK_FORMAT_R8_SSCALED"+ showsPrec _ VK_FORMAT_R8_UINT = showString "VK_FORMAT_R8_UINT"+ showsPrec _ VK_FORMAT_R8_SINT = showString "VK_FORMAT_R8_SINT"+ showsPrec _ VK_FORMAT_R8_SRGB = showString "VK_FORMAT_R8_SRGB"+ showsPrec _ VK_FORMAT_R8G8_UNORM = showString "VK_FORMAT_R8G8_UNORM"+ showsPrec _ VK_FORMAT_R8G8_SNORM = showString "VK_FORMAT_R8G8_SNORM"+ showsPrec _ VK_FORMAT_R8G8_USCALED = showString "VK_FORMAT_R8G8_USCALED"+ showsPrec _ VK_FORMAT_R8G8_SSCALED = showString "VK_FORMAT_R8G8_SSCALED"+ showsPrec _ VK_FORMAT_R8G8_UINT = showString "VK_FORMAT_R8G8_UINT"+ showsPrec _ VK_FORMAT_R8G8_SINT = showString "VK_FORMAT_R8G8_SINT"+ showsPrec _ VK_FORMAT_R8G8_SRGB = showString "VK_FORMAT_R8G8_SRGB"+ showsPrec _ VK_FORMAT_R8G8B8_UNORM = showString "VK_FORMAT_R8G8B8_UNORM"+ showsPrec _ VK_FORMAT_R8G8B8_SNORM = showString "VK_FORMAT_R8G8B8_SNORM"+ showsPrec _ VK_FORMAT_R8G8B8_USCALED = showString "VK_FORMAT_R8G8B8_USCALED"+ showsPrec _ VK_FORMAT_R8G8B8_SSCALED = showString "VK_FORMAT_R8G8B8_SSCALED"+ showsPrec _ VK_FORMAT_R8G8B8_UINT = showString "VK_FORMAT_R8G8B8_UINT"+ showsPrec _ VK_FORMAT_R8G8B8_SINT = showString "VK_FORMAT_R8G8B8_SINT"+ showsPrec _ VK_FORMAT_R8G8B8_SRGB = showString "VK_FORMAT_R8G8B8_SRGB"+ showsPrec _ VK_FORMAT_B8G8R8_UNORM = showString "VK_FORMAT_B8G8R8_UNORM"+ showsPrec _ VK_FORMAT_B8G8R8_SNORM = showString "VK_FORMAT_B8G8R8_SNORM"+ showsPrec _ VK_FORMAT_B8G8R8_USCALED = showString "VK_FORMAT_B8G8R8_USCALED"+ showsPrec _ VK_FORMAT_B8G8R8_SSCALED = showString "VK_FORMAT_B8G8R8_SSCALED"+ showsPrec _ VK_FORMAT_B8G8R8_UINT = showString "VK_FORMAT_B8G8R8_UINT"+ showsPrec _ VK_FORMAT_B8G8R8_SINT = showString "VK_FORMAT_B8G8R8_SINT"+ showsPrec _ VK_FORMAT_B8G8R8_SRGB = showString "VK_FORMAT_B8G8R8_SRGB"+ showsPrec _ VK_FORMAT_R8G8B8A8_UNORM = showString "VK_FORMAT_R8G8B8A8_UNORM"+ showsPrec _ VK_FORMAT_R8G8B8A8_SNORM = showString "VK_FORMAT_R8G8B8A8_SNORM"+ showsPrec _ VK_FORMAT_R8G8B8A8_USCALED = showString "VK_FORMAT_R8G8B8A8_USCALED"+ showsPrec _ VK_FORMAT_R8G8B8A8_SSCALED = showString "VK_FORMAT_R8G8B8A8_SSCALED"+ showsPrec _ VK_FORMAT_R8G8B8A8_UINT = showString "VK_FORMAT_R8G8B8A8_UINT"+ showsPrec _ VK_FORMAT_R8G8B8A8_SINT = showString "VK_FORMAT_R8G8B8A8_SINT"+ showsPrec _ VK_FORMAT_R8G8B8A8_SRGB = showString "VK_FORMAT_R8G8B8A8_SRGB"+ showsPrec _ VK_FORMAT_B8G8R8A8_UNORM = showString "VK_FORMAT_B8G8R8A8_UNORM"+ showsPrec _ VK_FORMAT_B8G8R8A8_SNORM = showString "VK_FORMAT_B8G8R8A8_SNORM"+ showsPrec _ VK_FORMAT_B8G8R8A8_USCALED = showString "VK_FORMAT_B8G8R8A8_USCALED"+ showsPrec _ VK_FORMAT_B8G8R8A8_SSCALED = showString "VK_FORMAT_B8G8R8A8_SSCALED"+ showsPrec _ VK_FORMAT_B8G8R8A8_UINT = showString "VK_FORMAT_B8G8R8A8_UINT"+ showsPrec _ VK_FORMAT_B8G8R8A8_SINT = showString "VK_FORMAT_B8G8R8A8_SINT"+ showsPrec _ VK_FORMAT_B8G8R8A8_SRGB = showString "VK_FORMAT_B8G8R8A8_SRGB"+ showsPrec _ VK_FORMAT_A8B8G8R8_UNORM_PACK32 = showString "VK_FORMAT_A8B8G8R8_UNORM_PACK32"+ showsPrec _ VK_FORMAT_A8B8G8R8_SNORM_PACK32 = showString "VK_FORMAT_A8B8G8R8_SNORM_PACK32"+ showsPrec _ VK_FORMAT_A8B8G8R8_USCALED_PACK32 = showString "VK_FORMAT_A8B8G8R8_USCALED_PACK32"+ showsPrec _ VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = showString "VK_FORMAT_A8B8G8R8_SSCALED_PACK32"+ showsPrec _ VK_FORMAT_A8B8G8R8_UINT_PACK32 = showString "VK_FORMAT_A8B8G8R8_UINT_PACK32"+ showsPrec _ VK_FORMAT_A8B8G8R8_SINT_PACK32 = showString "VK_FORMAT_A8B8G8R8_SINT_PACK32"+ showsPrec _ VK_FORMAT_A8B8G8R8_SRGB_PACK32 = showString "VK_FORMAT_A8B8G8R8_SRGB_PACK32"+ showsPrec _ VK_FORMAT_A2R10G10B10_UNORM_PACK32 = showString "VK_FORMAT_A2R10G10B10_UNORM_PACK32"+ showsPrec _ VK_FORMAT_A2R10G10B10_SNORM_PACK32 = showString "VK_FORMAT_A2R10G10B10_SNORM_PACK32"+ showsPrec _ VK_FORMAT_A2R10G10B10_USCALED_PACK32 = showString "VK_FORMAT_A2R10G10B10_USCALED_PACK32"+ showsPrec _ VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = showString "VK_FORMAT_A2R10G10B10_SSCALED_PACK32"+ showsPrec _ VK_FORMAT_A2R10G10B10_UINT_PACK32 = showString "VK_FORMAT_A2R10G10B10_UINT_PACK32"+ showsPrec _ VK_FORMAT_A2R10G10B10_SINT_PACK32 = showString "VK_FORMAT_A2R10G10B10_SINT_PACK32"+ showsPrec _ VK_FORMAT_A2B10G10R10_UNORM_PACK32 = showString "VK_FORMAT_A2B10G10R10_UNORM_PACK32"+ showsPrec _ VK_FORMAT_A2B10G10R10_SNORM_PACK32 = showString "VK_FORMAT_A2B10G10R10_SNORM_PACK32"+ showsPrec _ VK_FORMAT_A2B10G10R10_USCALED_PACK32 = showString "VK_FORMAT_A2B10G10R10_USCALED_PACK32"+ showsPrec _ VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = showString "VK_FORMAT_A2B10G10R10_SSCALED_PACK32"+ showsPrec _ VK_FORMAT_A2B10G10R10_UINT_PACK32 = showString "VK_FORMAT_A2B10G10R10_UINT_PACK32"+ showsPrec _ VK_FORMAT_A2B10G10R10_SINT_PACK32 = showString "VK_FORMAT_A2B10G10R10_SINT_PACK32"+ showsPrec _ VK_FORMAT_R16_UNORM = showString "VK_FORMAT_R16_UNORM"+ showsPrec _ VK_FORMAT_R16_SNORM = showString "VK_FORMAT_R16_SNORM"+ showsPrec _ VK_FORMAT_R16_USCALED = showString "VK_FORMAT_R16_USCALED"+ showsPrec _ VK_FORMAT_R16_SSCALED = showString "VK_FORMAT_R16_SSCALED"+ showsPrec _ VK_FORMAT_R16_UINT = showString "VK_FORMAT_R16_UINT"+ showsPrec _ VK_FORMAT_R16_SINT = showString "VK_FORMAT_R16_SINT"+ showsPrec _ VK_FORMAT_R16_SFLOAT = showString "VK_FORMAT_R16_SFLOAT"+ showsPrec _ VK_FORMAT_R16G16_UNORM = showString "VK_FORMAT_R16G16_UNORM"+ showsPrec _ VK_FORMAT_R16G16_SNORM = showString "VK_FORMAT_R16G16_SNORM"+ showsPrec _ VK_FORMAT_R16G16_USCALED = showString "VK_FORMAT_R16G16_USCALED"+ showsPrec _ VK_FORMAT_R16G16_SSCALED = showString "VK_FORMAT_R16G16_SSCALED"+ showsPrec _ VK_FORMAT_R16G16_UINT = showString "VK_FORMAT_R16G16_UINT"+ showsPrec _ VK_FORMAT_R16G16_SINT = showString "VK_FORMAT_R16G16_SINT"+ showsPrec _ VK_FORMAT_R16G16_SFLOAT = showString "VK_FORMAT_R16G16_SFLOAT"+ showsPrec _ VK_FORMAT_R16G16B16_UNORM = showString "VK_FORMAT_R16G16B16_UNORM"+ showsPrec _ VK_FORMAT_R16G16B16_SNORM = showString "VK_FORMAT_R16G16B16_SNORM"+ showsPrec _ VK_FORMAT_R16G16B16_USCALED = showString "VK_FORMAT_R16G16B16_USCALED"+ showsPrec _ VK_FORMAT_R16G16B16_SSCALED = showString "VK_FORMAT_R16G16B16_SSCALED"+ showsPrec _ VK_FORMAT_R16G16B16_UINT = showString "VK_FORMAT_R16G16B16_UINT"+ showsPrec _ VK_FORMAT_R16G16B16_SINT = showString "VK_FORMAT_R16G16B16_SINT"+ showsPrec _ VK_FORMAT_R16G16B16_SFLOAT = showString "VK_FORMAT_R16G16B16_SFLOAT"+ showsPrec _ VK_FORMAT_R16G16B16A16_UNORM = showString "VK_FORMAT_R16G16B16A16_UNORM"+ showsPrec _ VK_FORMAT_R16G16B16A16_SNORM = showString "VK_FORMAT_R16G16B16A16_SNORM"+ showsPrec _ VK_FORMAT_R16G16B16A16_USCALED = showString "VK_FORMAT_R16G16B16A16_USCALED"+ showsPrec _ VK_FORMAT_R16G16B16A16_SSCALED = showString "VK_FORMAT_R16G16B16A16_SSCALED"+ showsPrec _ VK_FORMAT_R16G16B16A16_UINT = showString "VK_FORMAT_R16G16B16A16_UINT"+ showsPrec _ VK_FORMAT_R16G16B16A16_SINT = showString "VK_FORMAT_R16G16B16A16_SINT"+ showsPrec _ VK_FORMAT_R16G16B16A16_SFLOAT = showString "VK_FORMAT_R16G16B16A16_SFLOAT"+ showsPrec _ VK_FORMAT_R32_UINT = showString "VK_FORMAT_R32_UINT"+ showsPrec _ VK_FORMAT_R32_SINT = showString "VK_FORMAT_R32_SINT"+ showsPrec _ VK_FORMAT_R32_SFLOAT = showString "VK_FORMAT_R32_SFLOAT"+ showsPrec _ VK_FORMAT_R32G32_UINT = showString "VK_FORMAT_R32G32_UINT"+ showsPrec _ VK_FORMAT_R32G32_SINT = showString "VK_FORMAT_R32G32_SINT"+ showsPrec _ VK_FORMAT_R32G32_SFLOAT = showString "VK_FORMAT_R32G32_SFLOAT"+ showsPrec _ VK_FORMAT_R32G32B32_UINT = showString "VK_FORMAT_R32G32B32_UINT"+ showsPrec _ VK_FORMAT_R32G32B32_SINT = showString "VK_FORMAT_R32G32B32_SINT"+ showsPrec _ VK_FORMAT_R32G32B32_SFLOAT = showString "VK_FORMAT_R32G32B32_SFLOAT"+ showsPrec _ VK_FORMAT_R32G32B32A32_UINT = showString "VK_FORMAT_R32G32B32A32_UINT"+ showsPrec _ VK_FORMAT_R32G32B32A32_SINT = showString "VK_FORMAT_R32G32B32A32_SINT"+ showsPrec _ VK_FORMAT_R32G32B32A32_SFLOAT = showString "VK_FORMAT_R32G32B32A32_SFLOAT"+ showsPrec _ VK_FORMAT_R64_UINT = showString "VK_FORMAT_R64_UINT"+ showsPrec _ VK_FORMAT_R64_SINT = showString "VK_FORMAT_R64_SINT"+ showsPrec _ VK_FORMAT_R64_SFLOAT = showString "VK_FORMAT_R64_SFLOAT"+ showsPrec _ VK_FORMAT_R64G64_UINT = showString "VK_FORMAT_R64G64_UINT"+ showsPrec _ VK_FORMAT_R64G64_SINT = showString "VK_FORMAT_R64G64_SINT"+ showsPrec _ VK_FORMAT_R64G64_SFLOAT = showString "VK_FORMAT_R64G64_SFLOAT"+ showsPrec _ VK_FORMAT_R64G64B64_UINT = showString "VK_FORMAT_R64G64B64_UINT"+ showsPrec _ VK_FORMAT_R64G64B64_SINT = showString "VK_FORMAT_R64G64B64_SINT"+ showsPrec _ VK_FORMAT_R64G64B64_SFLOAT = showString "VK_FORMAT_R64G64B64_SFLOAT"+ showsPrec _ VK_FORMAT_R64G64B64A64_UINT = showString "VK_FORMAT_R64G64B64A64_UINT"+ showsPrec _ VK_FORMAT_R64G64B64A64_SINT = showString "VK_FORMAT_R64G64B64A64_SINT"+ showsPrec _ VK_FORMAT_R64G64B64A64_SFLOAT = showString "VK_FORMAT_R64G64B64A64_SFLOAT"+ showsPrec _ VK_FORMAT_B10G11R11_UFLOAT_PACK32 = showString "VK_FORMAT_B10G11R11_UFLOAT_PACK32"+ showsPrec _ VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = showString "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32"+ showsPrec _ VK_FORMAT_D16_UNORM = showString "VK_FORMAT_D16_UNORM"+ showsPrec _ VK_FORMAT_X8_D24_UNORM_PACK32 = showString "VK_FORMAT_X8_D24_UNORM_PACK32"+ showsPrec _ VK_FORMAT_D32_SFLOAT = showString "VK_FORMAT_D32_SFLOAT"+ showsPrec _ VK_FORMAT_S8_UINT = showString "VK_FORMAT_S8_UINT"+ showsPrec _ VK_FORMAT_D16_UNORM_S8_UINT = showString "VK_FORMAT_D16_UNORM_S8_UINT"+ showsPrec _ VK_FORMAT_D24_UNORM_S8_UINT = showString "VK_FORMAT_D24_UNORM_S8_UINT"+ showsPrec _ VK_FORMAT_D32_SFLOAT_S8_UINT = showString "VK_FORMAT_D32_SFLOAT_S8_UINT"+ showsPrec _ VK_FORMAT_BC1_RGB_UNORM_BLOCK = showString "VK_FORMAT_BC1_RGB_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC1_RGB_SRGB_BLOCK = showString "VK_FORMAT_BC1_RGB_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_BC1_RGBA_UNORM_BLOCK = showString "VK_FORMAT_BC1_RGBA_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC1_RGBA_SRGB_BLOCK = showString "VK_FORMAT_BC1_RGBA_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_BC2_UNORM_BLOCK = showString "VK_FORMAT_BC2_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC2_SRGB_BLOCK = showString "VK_FORMAT_BC2_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_BC3_UNORM_BLOCK = showString "VK_FORMAT_BC3_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC3_SRGB_BLOCK = showString "VK_FORMAT_BC3_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_BC4_UNORM_BLOCK = showString "VK_FORMAT_BC4_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC4_SNORM_BLOCK = showString "VK_FORMAT_BC4_SNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC5_UNORM_BLOCK = showString "VK_FORMAT_BC5_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC5_SNORM_BLOCK = showString "VK_FORMAT_BC5_SNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC6H_UFLOAT_BLOCK = showString "VK_FORMAT_BC6H_UFLOAT_BLOCK"+ showsPrec _ VK_FORMAT_BC6H_SFLOAT_BLOCK = showString "VK_FORMAT_BC6H_SFLOAT_BLOCK"+ showsPrec _ VK_FORMAT_BC7_UNORM_BLOCK = showString "VK_FORMAT_BC7_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC7_SRGB_BLOCK = showString "VK_FORMAT_BC7_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = showString "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = showString "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = showString "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = showString "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = showString "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = showString "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_EAC_R11_UNORM_BLOCK = showString "VK_FORMAT_EAC_R11_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_EAC_R11_SNORM_BLOCK = showString "VK_FORMAT_EAC_R11_SNORM_BLOCK"+ showsPrec _ VK_FORMAT_EAC_R11G11_UNORM_BLOCK = showString "VK_FORMAT_EAC_R11G11_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_EAC_R11G11_SNORM_BLOCK = showString "VK_FORMAT_EAC_R11G11_SNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_4x4_UNORM_BLOCK = showString "VK_FORMAT_ASTC_4x4_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_4x4_SRGB_BLOCK = showString "VK_FORMAT_ASTC_4x4_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_5x4_UNORM_BLOCK = showString "VK_FORMAT_ASTC_5x4_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_5x4_SRGB_BLOCK = showString "VK_FORMAT_ASTC_5x4_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_5x5_UNORM_BLOCK = showString "VK_FORMAT_ASTC_5x5_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_5x5_SRGB_BLOCK = showString "VK_FORMAT_ASTC_5x5_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_6x5_UNORM_BLOCK = showString "VK_FORMAT_ASTC_6x5_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_6x5_SRGB_BLOCK = showString "VK_FORMAT_ASTC_6x5_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_6x6_UNORM_BLOCK = showString "VK_FORMAT_ASTC_6x6_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_6x6_SRGB_BLOCK = showString "VK_FORMAT_ASTC_6x6_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_8x5_UNORM_BLOCK = showString "VK_FORMAT_ASTC_8x5_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_8x5_SRGB_BLOCK = showString "VK_FORMAT_ASTC_8x5_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_8x6_UNORM_BLOCK = showString "VK_FORMAT_ASTC_8x6_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_8x6_SRGB_BLOCK = showString "VK_FORMAT_ASTC_8x6_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_8x8_UNORM_BLOCK = showString "VK_FORMAT_ASTC_8x8_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_8x8_SRGB_BLOCK = showString "VK_FORMAT_ASTC_8x8_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x5_UNORM_BLOCK = showString "VK_FORMAT_ASTC_10x5_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x5_SRGB_BLOCK = showString "VK_FORMAT_ASTC_10x5_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x6_UNORM_BLOCK = showString "VK_FORMAT_ASTC_10x6_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x6_SRGB_BLOCK = showString "VK_FORMAT_ASTC_10x6_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x8_UNORM_BLOCK = showString "VK_FORMAT_ASTC_10x8_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x8_SRGB_BLOCK = showString "VK_FORMAT_ASTC_10x8_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x10_UNORM_BLOCK = showString "VK_FORMAT_ASTC_10x10_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x10_SRGB_BLOCK = showString "VK_FORMAT_ASTC_10x10_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_12x10_UNORM_BLOCK = showString "VK_FORMAT_ASTC_12x10_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_12x10_SRGB_BLOCK = showString "VK_FORMAT_ASTC_12x10_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_12x12_UNORM_BLOCK = showString "VK_FORMAT_ASTC_12x12_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_12x12_SRGB_BLOCK = showString "VK_FORMAT_ASTC_12x12_SRGB_BLOCK"+ showsPrec p (VkFormat x) = showParen (p >= 11) (showString "VkFormat " . showsPrec 11 x)++instance Read VkFormat where+ readPrec = parens ( choose [ ("VK_FORMAT_UNDEFINED", pure VK_FORMAT_UNDEFINED)+ , ("VK_FORMAT_R4G4_UNORM_PACK8", pure VK_FORMAT_R4G4_UNORM_PACK8)+ , ("VK_FORMAT_R4G4B4A4_UNORM_PACK16", pure VK_FORMAT_R4G4B4A4_UNORM_PACK16)+ , ("VK_FORMAT_B4G4R4A4_UNORM_PACK16", pure VK_FORMAT_B4G4R4A4_UNORM_PACK16)+ , ("VK_FORMAT_R5G6B5_UNORM_PACK16", pure VK_FORMAT_R5G6B5_UNORM_PACK16)+ , ("VK_FORMAT_B5G6R5_UNORM_PACK16", pure VK_FORMAT_B5G6R5_UNORM_PACK16)+ , ("VK_FORMAT_R5G5B5A1_UNORM_PACK16", pure VK_FORMAT_R5G5B5A1_UNORM_PACK16)+ , ("VK_FORMAT_B5G5R5A1_UNORM_PACK16", pure VK_FORMAT_B5G5R5A1_UNORM_PACK16)+ , ("VK_FORMAT_A1R5G5B5_UNORM_PACK16", pure VK_FORMAT_A1R5G5B5_UNORM_PACK16)+ , ("VK_FORMAT_R8_UNORM", pure VK_FORMAT_R8_UNORM)+ , ("VK_FORMAT_R8_SNORM", pure VK_FORMAT_R8_SNORM)+ , ("VK_FORMAT_R8_USCALED", pure VK_FORMAT_R8_USCALED)+ , ("VK_FORMAT_R8_SSCALED", pure VK_FORMAT_R8_SSCALED)+ , ("VK_FORMAT_R8_UINT", pure VK_FORMAT_R8_UINT)+ , ("VK_FORMAT_R8_SINT", pure VK_FORMAT_R8_SINT)+ , ("VK_FORMAT_R8_SRGB", pure VK_FORMAT_R8_SRGB)+ , ("VK_FORMAT_R8G8_UNORM", pure VK_FORMAT_R8G8_UNORM)+ , ("VK_FORMAT_R8G8_SNORM", pure VK_FORMAT_R8G8_SNORM)+ , ("VK_FORMAT_R8G8_USCALED", pure VK_FORMAT_R8G8_USCALED)+ , ("VK_FORMAT_R8G8_SSCALED", pure VK_FORMAT_R8G8_SSCALED)+ , ("VK_FORMAT_R8G8_UINT", pure VK_FORMAT_R8G8_UINT)+ , ("VK_FORMAT_R8G8_SINT", pure VK_FORMAT_R8G8_SINT)+ , ("VK_FORMAT_R8G8_SRGB", pure VK_FORMAT_R8G8_SRGB)+ , ("VK_FORMAT_R8G8B8_UNORM", pure VK_FORMAT_R8G8B8_UNORM)+ , ("VK_FORMAT_R8G8B8_SNORM", pure VK_FORMAT_R8G8B8_SNORM)+ , ("VK_FORMAT_R8G8B8_USCALED", pure VK_FORMAT_R8G8B8_USCALED)+ , ("VK_FORMAT_R8G8B8_SSCALED", pure VK_FORMAT_R8G8B8_SSCALED)+ , ("VK_FORMAT_R8G8B8_UINT", pure VK_FORMAT_R8G8B8_UINT)+ , ("VK_FORMAT_R8G8B8_SINT", pure VK_FORMAT_R8G8B8_SINT)+ , ("VK_FORMAT_R8G8B8_SRGB", pure VK_FORMAT_R8G8B8_SRGB)+ , ("VK_FORMAT_B8G8R8_UNORM", pure VK_FORMAT_B8G8R8_UNORM)+ , ("VK_FORMAT_B8G8R8_SNORM", pure VK_FORMAT_B8G8R8_SNORM)+ , ("VK_FORMAT_B8G8R8_USCALED", pure VK_FORMAT_B8G8R8_USCALED)+ , ("VK_FORMAT_B8G8R8_SSCALED", pure VK_FORMAT_B8G8R8_SSCALED)+ , ("VK_FORMAT_B8G8R8_UINT", pure VK_FORMAT_B8G8R8_UINT)+ , ("VK_FORMAT_B8G8R8_SINT", pure VK_FORMAT_B8G8R8_SINT)+ , ("VK_FORMAT_B8G8R8_SRGB", pure VK_FORMAT_B8G8R8_SRGB)+ , ("VK_FORMAT_R8G8B8A8_UNORM", pure VK_FORMAT_R8G8B8A8_UNORM)+ , ("VK_FORMAT_R8G8B8A8_SNORM", pure VK_FORMAT_R8G8B8A8_SNORM)+ , ("VK_FORMAT_R8G8B8A8_USCALED", pure VK_FORMAT_R8G8B8A8_USCALED)+ , ("VK_FORMAT_R8G8B8A8_SSCALED", pure VK_FORMAT_R8G8B8A8_SSCALED)+ , ("VK_FORMAT_R8G8B8A8_UINT", pure VK_FORMAT_R8G8B8A8_UINT)+ , ("VK_FORMAT_R8G8B8A8_SINT", pure VK_FORMAT_R8G8B8A8_SINT)+ , ("VK_FORMAT_R8G8B8A8_SRGB", pure VK_FORMAT_R8G8B8A8_SRGB)+ , ("VK_FORMAT_B8G8R8A8_UNORM", pure VK_FORMAT_B8G8R8A8_UNORM)+ , ("VK_FORMAT_B8G8R8A8_SNORM", pure VK_FORMAT_B8G8R8A8_SNORM)+ , ("VK_FORMAT_B8G8R8A8_USCALED", pure VK_FORMAT_B8G8R8A8_USCALED)+ , ("VK_FORMAT_B8G8R8A8_SSCALED", pure VK_FORMAT_B8G8R8A8_SSCALED)+ , ("VK_FORMAT_B8G8R8A8_UINT", pure VK_FORMAT_B8G8R8A8_UINT)+ , ("VK_FORMAT_B8G8R8A8_SINT", pure VK_FORMAT_B8G8R8A8_SINT)+ , ("VK_FORMAT_B8G8R8A8_SRGB", pure VK_FORMAT_B8G8R8A8_SRGB)+ , ("VK_FORMAT_A8B8G8R8_UNORM_PACK32", pure VK_FORMAT_A8B8G8R8_UNORM_PACK32)+ , ("VK_FORMAT_A8B8G8R8_SNORM_PACK32", pure VK_FORMAT_A8B8G8R8_SNORM_PACK32)+ , ("VK_FORMAT_A8B8G8R8_USCALED_PACK32", pure VK_FORMAT_A8B8G8R8_USCALED_PACK32)+ , ("VK_FORMAT_A8B8G8R8_SSCALED_PACK32", pure VK_FORMAT_A8B8G8R8_SSCALED_PACK32)+ , ("VK_FORMAT_A8B8G8R8_UINT_PACK32", pure VK_FORMAT_A8B8G8R8_UINT_PACK32)+ , ("VK_FORMAT_A8B8G8R8_SINT_PACK32", pure VK_FORMAT_A8B8G8R8_SINT_PACK32)+ , ("VK_FORMAT_A8B8G8R8_SRGB_PACK32", pure VK_FORMAT_A8B8G8R8_SRGB_PACK32)+ , ("VK_FORMAT_A2R10G10B10_UNORM_PACK32", pure VK_FORMAT_A2R10G10B10_UNORM_PACK32)+ , ("VK_FORMAT_A2R10G10B10_SNORM_PACK32", pure VK_FORMAT_A2R10G10B10_SNORM_PACK32)+ , ("VK_FORMAT_A2R10G10B10_USCALED_PACK32", pure VK_FORMAT_A2R10G10B10_USCALED_PACK32)+ , ("VK_FORMAT_A2R10G10B10_SSCALED_PACK32", pure VK_FORMAT_A2R10G10B10_SSCALED_PACK32)+ , ("VK_FORMAT_A2R10G10B10_UINT_PACK32", pure VK_FORMAT_A2R10G10B10_UINT_PACK32)+ , ("VK_FORMAT_A2R10G10B10_SINT_PACK32", pure VK_FORMAT_A2R10G10B10_SINT_PACK32)+ , ("VK_FORMAT_A2B10G10R10_UNORM_PACK32", pure VK_FORMAT_A2B10G10R10_UNORM_PACK32)+ , ("VK_FORMAT_A2B10G10R10_SNORM_PACK32", pure VK_FORMAT_A2B10G10R10_SNORM_PACK32)+ , ("VK_FORMAT_A2B10G10R10_USCALED_PACK32", pure VK_FORMAT_A2B10G10R10_USCALED_PACK32)+ , ("VK_FORMAT_A2B10G10R10_SSCALED_PACK32", pure VK_FORMAT_A2B10G10R10_SSCALED_PACK32)+ , ("VK_FORMAT_A2B10G10R10_UINT_PACK32", pure VK_FORMAT_A2B10G10R10_UINT_PACK32)+ , ("VK_FORMAT_A2B10G10R10_SINT_PACK32", pure VK_FORMAT_A2B10G10R10_SINT_PACK32)+ , ("VK_FORMAT_R16_UNORM", pure VK_FORMAT_R16_UNORM)+ , ("VK_FORMAT_R16_SNORM", pure VK_FORMAT_R16_SNORM)+ , ("VK_FORMAT_R16_USCALED", pure VK_FORMAT_R16_USCALED)+ , ("VK_FORMAT_R16_SSCALED", pure VK_FORMAT_R16_SSCALED)+ , ("VK_FORMAT_R16_UINT", pure VK_FORMAT_R16_UINT)+ , ("VK_FORMAT_R16_SINT", pure VK_FORMAT_R16_SINT)+ , ("VK_FORMAT_R16_SFLOAT", pure VK_FORMAT_R16_SFLOAT)+ , ("VK_FORMAT_R16G16_UNORM", pure VK_FORMAT_R16G16_UNORM)+ , ("VK_FORMAT_R16G16_SNORM", pure VK_FORMAT_R16G16_SNORM)+ , ("VK_FORMAT_R16G16_USCALED", pure VK_FORMAT_R16G16_USCALED)+ , ("VK_FORMAT_R16G16_SSCALED", pure VK_FORMAT_R16G16_SSCALED)+ , ("VK_FORMAT_R16G16_UINT", pure VK_FORMAT_R16G16_UINT)+ , ("VK_FORMAT_R16G16_SINT", pure VK_FORMAT_R16G16_SINT)+ , ("VK_FORMAT_R16G16_SFLOAT", pure VK_FORMAT_R16G16_SFLOAT)+ , ("VK_FORMAT_R16G16B16_UNORM", pure VK_FORMAT_R16G16B16_UNORM)+ , ("VK_FORMAT_R16G16B16_SNORM", pure VK_FORMAT_R16G16B16_SNORM)+ , ("VK_FORMAT_R16G16B16_USCALED", pure VK_FORMAT_R16G16B16_USCALED)+ , ("VK_FORMAT_R16G16B16_SSCALED", pure VK_FORMAT_R16G16B16_SSCALED)+ , ("VK_FORMAT_R16G16B16_UINT", pure VK_FORMAT_R16G16B16_UINT)+ , ("VK_FORMAT_R16G16B16_SINT", pure VK_FORMAT_R16G16B16_SINT)+ , ("VK_FORMAT_R16G16B16_SFLOAT", pure VK_FORMAT_R16G16B16_SFLOAT)+ , ("VK_FORMAT_R16G16B16A16_UNORM", pure VK_FORMAT_R16G16B16A16_UNORM)+ , ("VK_FORMAT_R16G16B16A16_SNORM", pure VK_FORMAT_R16G16B16A16_SNORM)+ , ("VK_FORMAT_R16G16B16A16_USCALED", pure VK_FORMAT_R16G16B16A16_USCALED)+ , ("VK_FORMAT_R16G16B16A16_SSCALED", pure VK_FORMAT_R16G16B16A16_SSCALED)+ , ("VK_FORMAT_R16G16B16A16_UINT", pure VK_FORMAT_R16G16B16A16_UINT)+ , ("VK_FORMAT_R16G16B16A16_SINT", pure VK_FORMAT_R16G16B16A16_SINT)+ , ("VK_FORMAT_R16G16B16A16_SFLOAT", pure VK_FORMAT_R16G16B16A16_SFLOAT)+ , ("VK_FORMAT_R32_UINT", pure VK_FORMAT_R32_UINT)+ , ("VK_FORMAT_R32_SINT", pure VK_FORMAT_R32_SINT)+ , ("VK_FORMAT_R32_SFLOAT", pure VK_FORMAT_R32_SFLOAT)+ , ("VK_FORMAT_R32G32_UINT", pure VK_FORMAT_R32G32_UINT)+ , ("VK_FORMAT_R32G32_SINT", pure VK_FORMAT_R32G32_SINT)+ , ("VK_FORMAT_R32G32_SFLOAT", pure VK_FORMAT_R32G32_SFLOAT)+ , ("VK_FORMAT_R32G32B32_UINT", pure VK_FORMAT_R32G32B32_UINT)+ , ("VK_FORMAT_R32G32B32_SINT", pure VK_FORMAT_R32G32B32_SINT)+ , ("VK_FORMAT_R32G32B32_SFLOAT", pure VK_FORMAT_R32G32B32_SFLOAT)+ , ("VK_FORMAT_R32G32B32A32_UINT", pure VK_FORMAT_R32G32B32A32_UINT)+ , ("VK_FORMAT_R32G32B32A32_SINT", pure VK_FORMAT_R32G32B32A32_SINT)+ , ("VK_FORMAT_R32G32B32A32_SFLOAT", pure VK_FORMAT_R32G32B32A32_SFLOAT)+ , ("VK_FORMAT_R64_UINT", pure VK_FORMAT_R64_UINT)+ , ("VK_FORMAT_R64_SINT", pure VK_FORMAT_R64_SINT)+ , ("VK_FORMAT_R64_SFLOAT", pure VK_FORMAT_R64_SFLOAT)+ , ("VK_FORMAT_R64G64_UINT", pure VK_FORMAT_R64G64_UINT)+ , ("VK_FORMAT_R64G64_SINT", pure VK_FORMAT_R64G64_SINT)+ , ("VK_FORMAT_R64G64_SFLOAT", pure VK_FORMAT_R64G64_SFLOAT)+ , ("VK_FORMAT_R64G64B64_UINT", pure VK_FORMAT_R64G64B64_UINT)+ , ("VK_FORMAT_R64G64B64_SINT", pure VK_FORMAT_R64G64B64_SINT)+ , ("VK_FORMAT_R64G64B64_SFLOAT", pure VK_FORMAT_R64G64B64_SFLOAT)+ , ("VK_FORMAT_R64G64B64A64_UINT", pure VK_FORMAT_R64G64B64A64_UINT)+ , ("VK_FORMAT_R64G64B64A64_SINT", pure VK_FORMAT_R64G64B64A64_SINT)+ , ("VK_FORMAT_R64G64B64A64_SFLOAT", pure VK_FORMAT_R64G64B64A64_SFLOAT)+ , ("VK_FORMAT_B10G11R11_UFLOAT_PACK32", pure VK_FORMAT_B10G11R11_UFLOAT_PACK32)+ , ("VK_FORMAT_E5B9G9R9_UFLOAT_PACK32", pure VK_FORMAT_E5B9G9R9_UFLOAT_PACK32)+ , ("VK_FORMAT_D16_UNORM", pure VK_FORMAT_D16_UNORM)+ , ("VK_FORMAT_X8_D24_UNORM_PACK32", pure VK_FORMAT_X8_D24_UNORM_PACK32)+ , ("VK_FORMAT_D32_SFLOAT", pure VK_FORMAT_D32_SFLOAT)+ , ("VK_FORMAT_S8_UINT", pure VK_FORMAT_S8_UINT)+ , ("VK_FORMAT_D16_UNORM_S8_UINT", pure VK_FORMAT_D16_UNORM_S8_UINT)+ , ("VK_FORMAT_D24_UNORM_S8_UINT", pure VK_FORMAT_D24_UNORM_S8_UINT)+ , ("VK_FORMAT_D32_SFLOAT_S8_UINT", pure VK_FORMAT_D32_SFLOAT_S8_UINT)+ , ("VK_FORMAT_BC1_RGB_UNORM_BLOCK", pure VK_FORMAT_BC1_RGB_UNORM_BLOCK)+ , ("VK_FORMAT_BC1_RGB_SRGB_BLOCK", pure VK_FORMAT_BC1_RGB_SRGB_BLOCK)+ , ("VK_FORMAT_BC1_RGBA_UNORM_BLOCK", pure VK_FORMAT_BC1_RGBA_UNORM_BLOCK)+ , ("VK_FORMAT_BC1_RGBA_SRGB_BLOCK", pure VK_FORMAT_BC1_RGBA_SRGB_BLOCK)+ , ("VK_FORMAT_BC2_UNORM_BLOCK", pure VK_FORMAT_BC2_UNORM_BLOCK)+ , ("VK_FORMAT_BC2_SRGB_BLOCK", pure VK_FORMAT_BC2_SRGB_BLOCK)+ , ("VK_FORMAT_BC3_UNORM_BLOCK", pure VK_FORMAT_BC3_UNORM_BLOCK)+ , ("VK_FORMAT_BC3_SRGB_BLOCK", pure VK_FORMAT_BC3_SRGB_BLOCK)+ , ("VK_FORMAT_BC4_UNORM_BLOCK", pure VK_FORMAT_BC4_UNORM_BLOCK)+ , ("VK_FORMAT_BC4_SNORM_BLOCK", pure VK_FORMAT_BC4_SNORM_BLOCK)+ , ("VK_FORMAT_BC5_UNORM_BLOCK", pure VK_FORMAT_BC5_UNORM_BLOCK)+ , ("VK_FORMAT_BC5_SNORM_BLOCK", pure VK_FORMAT_BC5_SNORM_BLOCK)+ , ("VK_FORMAT_BC6H_UFLOAT_BLOCK", pure VK_FORMAT_BC6H_UFLOAT_BLOCK)+ , ("VK_FORMAT_BC6H_SFLOAT_BLOCK", pure VK_FORMAT_BC6H_SFLOAT_BLOCK)+ , ("VK_FORMAT_BC7_UNORM_BLOCK", pure VK_FORMAT_BC7_UNORM_BLOCK)+ , ("VK_FORMAT_BC7_SRGB_BLOCK", pure VK_FORMAT_BC7_SRGB_BLOCK)+ , ("VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK", pure VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK)+ , ("VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK", pure VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK)+ , ("VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK", pure VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK)+ , ("VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK", pure VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK)+ , ("VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK", pure VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK)+ , ("VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK", pure VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK)+ , ("VK_FORMAT_EAC_R11_UNORM_BLOCK", pure VK_FORMAT_EAC_R11_UNORM_BLOCK)+ , ("VK_FORMAT_EAC_R11_SNORM_BLOCK", pure VK_FORMAT_EAC_R11_SNORM_BLOCK)+ , ("VK_FORMAT_EAC_R11G11_UNORM_BLOCK", pure VK_FORMAT_EAC_R11G11_UNORM_BLOCK)+ , ("VK_FORMAT_EAC_R11G11_SNORM_BLOCK", pure VK_FORMAT_EAC_R11G11_SNORM_BLOCK)+ , ("VK_FORMAT_ASTC_4x4_UNORM_BLOCK", pure VK_FORMAT_ASTC_4x4_UNORM_BLOCK)+ , ("VK_FORMAT_ASTC_4x4_SRGB_BLOCK", pure VK_FORMAT_ASTC_4x4_SRGB_BLOCK)+ , ("VK_FORMAT_ASTC_5x4_UNORM_BLOCK", pure VK_FORMAT_ASTC_5x4_UNORM_BLOCK)+ , ("VK_FORMAT_ASTC_5x4_SRGB_BLOCK", pure VK_FORMAT_ASTC_5x4_SRGB_BLOCK)+ , ("VK_FORMAT_ASTC_5x5_UNORM_BLOCK", pure VK_FORMAT_ASTC_5x5_UNORM_BLOCK)+ , ("VK_FORMAT_ASTC_5x5_SRGB_BLOCK", pure VK_FORMAT_ASTC_5x5_SRGB_BLOCK)+ , ("VK_FORMAT_ASTC_6x5_UNORM_BLOCK", pure VK_FORMAT_ASTC_6x5_UNORM_BLOCK)+ , ("VK_FORMAT_ASTC_6x5_SRGB_BLOCK", pure VK_FORMAT_ASTC_6x5_SRGB_BLOCK)+ , ("VK_FORMAT_ASTC_6x6_UNORM_BLOCK", pure VK_FORMAT_ASTC_6x6_UNORM_BLOCK)+ , ("VK_FORMAT_ASTC_6x6_SRGB_BLOCK", pure VK_FORMAT_ASTC_6x6_SRGB_BLOCK)+ , ("VK_FORMAT_ASTC_8x5_UNORM_BLOCK", pure VK_FORMAT_ASTC_8x5_UNORM_BLOCK)+ , ("VK_FORMAT_ASTC_8x5_SRGB_BLOCK", pure VK_FORMAT_ASTC_8x5_SRGB_BLOCK)+ , ("VK_FORMAT_ASTC_8x6_UNORM_BLOCK", pure VK_FORMAT_ASTC_8x6_UNORM_BLOCK)+ , ("VK_FORMAT_ASTC_8x6_SRGB_BLOCK", pure VK_FORMAT_ASTC_8x6_SRGB_BLOCK)+ , ("VK_FORMAT_ASTC_8x8_UNORM_BLOCK", pure VK_FORMAT_ASTC_8x8_UNORM_BLOCK)+ , ("VK_FORMAT_ASTC_8x8_SRGB_BLOCK", pure VK_FORMAT_ASTC_8x8_SRGB_BLOCK)+ , ("VK_FORMAT_ASTC_10x5_UNORM_BLOCK", pure VK_FORMAT_ASTC_10x5_UNORM_BLOCK)+ , ("VK_FORMAT_ASTC_10x5_SRGB_BLOCK", pure VK_FORMAT_ASTC_10x5_SRGB_BLOCK)+ , ("VK_FORMAT_ASTC_10x6_UNORM_BLOCK", pure VK_FORMAT_ASTC_10x6_UNORM_BLOCK)+ , ("VK_FORMAT_ASTC_10x6_SRGB_BLOCK", pure VK_FORMAT_ASTC_10x6_SRGB_BLOCK)+ , ("VK_FORMAT_ASTC_10x8_UNORM_BLOCK", pure VK_FORMAT_ASTC_10x8_UNORM_BLOCK)+ , ("VK_FORMAT_ASTC_10x8_SRGB_BLOCK", pure VK_FORMAT_ASTC_10x8_SRGB_BLOCK)+ , ("VK_FORMAT_ASTC_10x10_UNORM_BLOCK", pure VK_FORMAT_ASTC_10x10_UNORM_BLOCK)+ , ("VK_FORMAT_ASTC_10x10_SRGB_BLOCK", pure VK_FORMAT_ASTC_10x10_SRGB_BLOCK)+ , ("VK_FORMAT_ASTC_12x10_UNORM_BLOCK", pure VK_FORMAT_ASTC_12x10_UNORM_BLOCK)+ , ("VK_FORMAT_ASTC_12x10_SRGB_BLOCK", pure VK_FORMAT_ASTC_12x10_SRGB_BLOCK)+ , ("VK_FORMAT_ASTC_12x12_UNORM_BLOCK", pure VK_FORMAT_ASTC_12x12_UNORM_BLOCK)+ , ("VK_FORMAT_ASTC_12x12_SRGB_BLOCK", pure VK_FORMAT_ASTC_12x12_SRGB_BLOCK)+ ] ++++ prec 10 (do+ expectP (Ident "VkFormat")+ v <- step readPrec+ pure (VkFormat v)+ )+ )++ pattern VK_FORMAT_UNDEFINED = VkFormat 0 pattern VK_FORMAT_R4G4_UNORM_PACK8 = VkFormat 1@@ -416,6 +811,23 @@ newtype VkSharingMode = VkSharingMode Int32 deriving (Eq, Storable) +instance Show VkSharingMode where+ showsPrec _ VK_SHARING_MODE_EXCLUSIVE = showString "VK_SHARING_MODE_EXCLUSIVE"+ showsPrec _ VK_SHARING_MODE_CONCURRENT = showString "VK_SHARING_MODE_CONCURRENT"+ showsPrec p (VkSharingMode x) = showParen (p >= 11) (showString "VkSharingMode " . showsPrec 11 x)++instance Read VkSharingMode where+ readPrec = parens ( choose [ ("VK_SHARING_MODE_EXCLUSIVE", pure VK_SHARING_MODE_EXCLUSIVE)+ , ("VK_SHARING_MODE_CONCURRENT", pure VK_SHARING_MODE_CONCURRENT)+ ] ++++ prec 10 (do+ expectP (Ident "VkSharingMode")+ v <- step readPrec+ pure (VkSharingMode v)+ )+ )++ pattern VK_SHARING_MODE_EXCLUSIVE = VkSharingMode 0 pattern VK_SHARING_MODE_CONCURRENT = VkSharingMode 1@@ -425,6 +837,117 @@ newtype VkStructureType = VkStructureType Int32 deriving (Eq, Storable) +instance Show VkStructureType where+ showsPrec _ VK_STRUCTURE_TYPE_APPLICATION_INFO = showString "VK_STRUCTURE_TYPE_APPLICATION_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_SUBMIT_INFO = showString "VK_STRUCTURE_TYPE_SUBMIT_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = showString "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = showString "VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE"+ showsPrec _ VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = showString "VK_STRUCTURE_TYPE_BIND_SPARSE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_FENCE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = showString "VK_STRUCTURE_TYPE_EVENT_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = showString "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = showString "VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = showString "VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = showString "VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = showString "VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = showString "VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = showString "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET"+ showsPrec _ VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = showString "VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET"+ showsPrec _ VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = showString "VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = showString "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = showString "VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = showString "VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = showString "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER"+ showsPrec _ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = showString "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER"+ showsPrec _ VK_STRUCTURE_TYPE_MEMORY_BARRIER = showString "VK_STRUCTURE_TYPE_MEMORY_BARRIER"+ showsPrec _ VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = showString "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO"+ showsPrec p (VkStructureType x) = showParen (p >= 11) (showString "VkStructureType " . showsPrec 11 x)++instance Read VkStructureType where+ readPrec = parens ( choose [ ("VK_STRUCTURE_TYPE_APPLICATION_INFO", pure VK_STRUCTURE_TYPE_APPLICATION_INFO)+ , ("VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO", pure VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO", pure VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO", pure VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_SUBMIT_INFO", pure VK_STRUCTURE_TYPE_SUBMIT_INFO)+ , ("VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO", pure VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO)+ , ("VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE", pure VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE)+ , ("VK_STRUCTURE_TYPE_BIND_SPARSE_INFO", pure VK_STRUCTURE_TYPE_BIND_SPARSE_INFO)+ , ("VK_STRUCTURE_TYPE_FENCE_CREATE_INFO", pure VK_STRUCTURE_TYPE_FENCE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO", pure VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_EVENT_CREATE_INFO", pure VK_STRUCTURE_TYPE_EVENT_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO", pure VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO", pure VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO", pure VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO", pure VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO", pure VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO", pure VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO", pure VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO", pure VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO", pure VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO", pure VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO", pure VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO", pure VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO", pure VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO", pure VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO", pure VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO", pure VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO", pure VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO", pure VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO", pure VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO", pure VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO", pure VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO", pure VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO", pure VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO", pure VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO)+ , ("VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET", pure VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET)+ , ("VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET", pure VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET)+ , ("VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO", pure VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO", pure VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO", pure VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO", pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO)+ , ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO", pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO)+ , ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO", pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO)+ , ("VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO", pure VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO)+ , ("VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER", pure VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER)+ , ("VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER", pure VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER)+ , ("VK_STRUCTURE_TYPE_MEMORY_BARRIER", pure VK_STRUCTURE_TYPE_MEMORY_BARRIER)+ , ("VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO", pure VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO)+ , ("VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO", pure VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO)+ ] ++++ prec 10 (do+ expectP (Ident "VkStructureType")+ v <- step readPrec+ pure (VkStructureType v)+ )+ )++ pattern VK_STRUCTURE_TYPE_APPLICATION_INFO = VkStructureType 0 pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = VkStructureType 1@@ -600,6 +1123,53 @@ -- | Error and return codes newtype VkResult = VkResult Int32 deriving (Eq, Storable)++instance Show VkResult where+ showsPrec _ VK_SUCCESS = showString "VK_SUCCESS"+ showsPrec _ VK_NOT_READY = showString "VK_NOT_READY"+ showsPrec _ VK_TIMEOUT = showString "VK_TIMEOUT"+ showsPrec _ VK_EVENT_SET = showString "VK_EVENT_SET"+ showsPrec _ VK_EVENT_RESET = showString "VK_EVENT_RESET"+ showsPrec _ VK_INCOMPLETE = showString "VK_INCOMPLETE"+ showsPrec _ VK_ERROR_OUT_OF_HOST_MEMORY = showString "VK_ERROR_OUT_OF_HOST_MEMORY"+ showsPrec _ VK_ERROR_OUT_OF_DEVICE_MEMORY = showString "VK_ERROR_OUT_OF_DEVICE_MEMORY"+ showsPrec _ VK_ERROR_INITIALIZATION_FAILED = showString "VK_ERROR_INITIALIZATION_FAILED"+ showsPrec _ VK_ERROR_DEVICE_LOST = showString "VK_ERROR_DEVICE_LOST"+ showsPrec _ VK_ERROR_MEMORY_MAP_FAILED = showString "VK_ERROR_MEMORY_MAP_FAILED"+ showsPrec _ VK_ERROR_LAYER_NOT_PRESENT = showString "VK_ERROR_LAYER_NOT_PRESENT"+ showsPrec _ VK_ERROR_EXTENSION_NOT_PRESENT = showString "VK_ERROR_EXTENSION_NOT_PRESENT"+ showsPrec _ VK_ERROR_FEATURE_NOT_PRESENT = showString "VK_ERROR_FEATURE_NOT_PRESENT"+ showsPrec _ VK_ERROR_INCOMPATIBLE_DRIVER = showString "VK_ERROR_INCOMPATIBLE_DRIVER"+ showsPrec _ VK_ERROR_TOO_MANY_OBJECTS = showString "VK_ERROR_TOO_MANY_OBJECTS"+ showsPrec _ VK_ERROR_FORMAT_NOT_SUPPORTED = showString "VK_ERROR_FORMAT_NOT_SUPPORTED"+ showsPrec p (VkResult x) = showParen (p >= 11) (showString "VkResult " . showsPrec 11 x)++instance Read VkResult where+ readPrec = parens ( choose [ ("VK_SUCCESS", pure VK_SUCCESS)+ , ("VK_NOT_READY", pure VK_NOT_READY)+ , ("VK_TIMEOUT", pure VK_TIMEOUT)+ , ("VK_EVENT_SET", pure VK_EVENT_SET)+ , ("VK_EVENT_RESET", pure VK_EVENT_RESET)+ , ("VK_INCOMPLETE", pure VK_INCOMPLETE)+ , ("VK_ERROR_OUT_OF_HOST_MEMORY", pure VK_ERROR_OUT_OF_HOST_MEMORY)+ , ("VK_ERROR_OUT_OF_DEVICE_MEMORY", pure VK_ERROR_OUT_OF_DEVICE_MEMORY)+ , ("VK_ERROR_INITIALIZATION_FAILED", pure VK_ERROR_INITIALIZATION_FAILED)+ , ("VK_ERROR_DEVICE_LOST", pure VK_ERROR_DEVICE_LOST)+ , ("VK_ERROR_MEMORY_MAP_FAILED", pure VK_ERROR_MEMORY_MAP_FAILED)+ , ("VK_ERROR_LAYER_NOT_PRESENT", pure VK_ERROR_LAYER_NOT_PRESENT)+ , ("VK_ERROR_EXTENSION_NOT_PRESENT", pure VK_ERROR_EXTENSION_NOT_PRESENT)+ , ("VK_ERROR_FEATURE_NOT_PRESENT", pure VK_ERROR_FEATURE_NOT_PRESENT)+ , ("VK_ERROR_INCOMPATIBLE_DRIVER", pure VK_ERROR_INCOMPATIBLE_DRIVER)+ , ("VK_ERROR_TOO_MANY_OBJECTS", pure VK_ERROR_TOO_MANY_OBJECTS)+ , ("VK_ERROR_FORMAT_NOT_SUPPORTED", pure VK_ERROR_FORMAT_NOT_SUPPORTED)+ ] ++++ prec 10 (do+ expectP (Ident "VkResult")+ v <- step readPrec+ pure (VkResult v)+ )+ )+ -- | Command completed successfully pattern VK_SUCCESS = VkResult 0 -- | A fence or query has not yet completed
src/Graphics/Vulkan/DescriptorSet.hs view
@@ -7,6 +7,11 @@ ) import Graphics.Vulkan.Buffer( VkBuffer(..) )+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -31,6 +36,13 @@ , PFN_vkFreeFunction , PFN_vkInternalFreeNotification )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Shader( VkShaderStageFlagBits(..) , VkShaderStageFlags(..) )@@ -336,6 +348,41 @@ newtype VkDescriptorType = VkDescriptorType Int32 deriving (Eq, Storable)++instance Show VkDescriptorType where+ showsPrec _ VK_DESCRIPTOR_TYPE_SAMPLER = showString "VK_DESCRIPTOR_TYPE_SAMPLER"+ showsPrec _ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = showString "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER"+ showsPrec _ VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = showString "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE"+ showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = showString "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE"+ showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = showString "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER"+ showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = showString "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER"+ showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = showString "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER"+ showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = showString "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER"+ showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = showString "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC"+ showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = showString "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC"+ showsPrec _ VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = showString "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT"+ showsPrec p (VkDescriptorType x) = showParen (p >= 11) (showString "VkDescriptorType " . showsPrec 11 x)++instance Read VkDescriptorType where+ readPrec = parens ( choose [ ("VK_DESCRIPTOR_TYPE_SAMPLER", pure VK_DESCRIPTOR_TYPE_SAMPLER)+ , ("VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER", pure VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER)+ , ("VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE", pure VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE)+ , ("VK_DESCRIPTOR_TYPE_STORAGE_IMAGE", pure VK_DESCRIPTOR_TYPE_STORAGE_IMAGE)+ , ("VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER", pure VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER)+ , ("VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER", pure VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER)+ , ("VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER", pure VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER)+ , ("VK_DESCRIPTOR_TYPE_STORAGE_BUFFER", pure VK_DESCRIPTOR_TYPE_STORAGE_BUFFER)+ , ("VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC", pure VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC)+ , ("VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC", pure VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC)+ , ("VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT", pure VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT)+ ] ++++ prec 10 (do+ expectP (Ident "VkDescriptorType")+ v <- step readPrec+ pure (VkDescriptorType v)+ )+ )+ pattern VK_DESCRIPTOR_TYPE_SAMPLER = VkDescriptorType 0
src/Graphics/Vulkan/DeviceInitialization.hs view
@@ -4,10 +4,17 @@ {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} module Graphics.Vulkan.DeviceInitialization where+import Data.Vector.Storable.Sized( Vector+ ) import Graphics.Vulkan.Device( VkPhysicalDeviceFeatures(..) , VkPhysicalDevice(..) , VkDevice(..) )+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word8 , Word64 , Word32@@ -18,8 +25,6 @@ ) import Data.Int( Int32 )-import Data.Vector.Fixed.Cont( ToPeano- ) import Data.Bits( Bits , FiniteBits )@@ -41,6 +46,13 @@ , PFN_vkFreeFunction , PFN_vkInternalFreeNotification )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Sampler( VkSampleCountFlagBits(..) , VkSampleCountFlags(..) )@@ -51,8 +63,6 @@ , VkImageTiling(..) , VkImageCreateFlagBits(..) )-import Data.Vector.Fixed.Storable( Vec- ) import Graphics.Vulkan.Core( VkExtent3D(..) , VkResult(..) , VkDeviceSize(..)@@ -72,6 +82,29 @@ newtype VkPhysicalDeviceType = VkPhysicalDeviceType Int32 deriving (Eq, Storable) +instance Show VkPhysicalDeviceType where+ showsPrec _ VK_PHYSICAL_DEVICE_TYPE_OTHER = showString "VK_PHYSICAL_DEVICE_TYPE_OTHER"+ showsPrec _ VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = showString "VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU"+ showsPrec _ VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = showString "VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU"+ showsPrec _ VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = showString "VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU"+ showsPrec _ VK_PHYSICAL_DEVICE_TYPE_CPU = showString "VK_PHYSICAL_DEVICE_TYPE_CPU"+ showsPrec p (VkPhysicalDeviceType x) = showParen (p >= 11) (showString "VkPhysicalDeviceType " . showsPrec 11 x)++instance Read VkPhysicalDeviceType where+ readPrec = parens ( choose [ ("VK_PHYSICAL_DEVICE_TYPE_OTHER", pure VK_PHYSICAL_DEVICE_TYPE_OTHER)+ , ("VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU", pure VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU)+ , ("VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU", pure VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU)+ , ("VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU", pure VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU)+ , ("VK_PHYSICAL_DEVICE_TYPE_CPU", pure VK_PHYSICAL_DEVICE_TYPE_CPU)+ ] ++++ prec 10 (do+ expectP (Ident "VkPhysicalDeviceType")+ v <- step readPrec+ pure (VkPhysicalDeviceType v)+ )+ )++ pattern VK_PHYSICAL_DEVICE_TYPE_OTHER = VkPhysicalDeviceType 0 pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = VkPhysicalDeviceType 1@@ -212,9 +245,9 @@ , vkMaxFragmentDualSrcAttachments :: Word32 , vkMaxFragmentCombinedOutputResources :: Word32 , vkMaxComputeSharedMemorySize :: Word32 - , vkMaxComputeWorkGroupCount :: Vec (ToPeano 3) Word32 + , vkMaxComputeWorkGroupCount :: Vector 3 Word32 , vkMaxComputeWorkGroupInvocations :: Word32 - , vkMaxComputeWorkGroupSize :: Vec (ToPeano 3) Word32 + , vkMaxComputeWorkGroupSize :: Vector 3 Word32 , vkSubPixelPrecisionBits :: Word32 , vkSubTexelPrecisionBits :: Word32 , vkMipmapPrecisionBits :: Word32 @@ -223,8 +256,8 @@ , vkMaxSamplerLodBias :: CFloat , vkMaxSamplerAnisotropy :: CFloat , vkMaxViewports :: Word32 - , vkMaxViewportDimensions :: Vec (ToPeano 2) Word32 - , vkViewportBoundsRange :: Vec (ToPeano 2) CFloat + , vkMaxViewportDimensions :: Vector 2 Word32 + , vkViewportBoundsRange :: Vector 2 CFloat , vkViewportSubPixelBits :: Word32 , vkMinMemoryMapAlignment :: CSize , vkMinTexelBufferOffsetAlignment :: VkDeviceSize @@ -257,8 +290,8 @@ , vkMaxCullDistances :: Word32 , vkMaxCombinedClipAndCullDistances :: Word32 , vkDiscreteQueuePriorities :: Word32 - , vkPointSizeRange :: Vec (ToPeano 2) CFloat - , vkLineWidthRange :: Vec (ToPeano 2) CFloat + , vkPointSizeRange :: Vector 2 CFloat + , vkLineWidthRange :: Vector 2 CFloat , vkPointSizeGranularity :: CFloat , vkLineWidthGranularity :: CFloat , vkStrictLines :: VkBool32 @@ -552,9 +585,9 @@ data VkPhysicalDeviceMemoryProperties = VkPhysicalDeviceMemoryProperties{ vkMemoryTypeCount :: Word32 - , vkMemoryTypes :: Vec (ToPeano VK_MAX_MEMORY_TYPES) VkMemoryType + , vkMemoryTypes :: Vector VK_MAX_MEMORY_TYPES VkMemoryType , vkMemoryHeapCount :: Word32 - , vkMemoryHeaps :: Vec (ToPeano VK_MAX_MEMORY_HEAPS) VkMemoryHeap + , vkMemoryHeaps :: Vector VK_MAX_MEMORY_HEAPS VkMemoryHeap } deriving (Eq) @@ -671,8 +704,8 @@ , vkVendorID :: Word32 , vkDeviceID :: Word32 , vkDeviceType :: VkPhysicalDeviceType - , vkDeviceName :: Vec (ToPeano VK_MAX_PHYSICAL_DEVICE_NAME_SIZE) CChar - , vkPipelineCacheUUID :: Vec (ToPeano VK_UUID_SIZE) Word8 + , vkDeviceName :: Vector VK_MAX_PHYSICAL_DEVICE_NAME_SIZE CChar + , vkPipelineCacheUUID :: Vector VK_UUID_SIZE Word8 , vkLimits :: VkPhysicalDeviceLimits , vkSparseProperties :: VkPhysicalDeviceSparseProperties }
src/Graphics/Vulkan/ExtensionDiscovery.hs view
@@ -2,6 +2,8 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE Strict #-} module Graphics.Vulkan.ExtensionDiscovery where+import Data.Vector.Storable.Sized( Vector+ ) import Graphics.Vulkan.Device( VkPhysicalDevice(..) ) import Data.Word( Word32@@ -9,21 +11,17 @@ import Foreign.Ptr( Ptr , plusPtr )-import Data.Vector.Fixed.Cont( ToPeano- ) import Foreign.Storable( Storable(..) ) import Graphics.Vulkan.Constants( VK_MAX_EXTENSION_NAME_SIZE )-import Data.Vector.Fixed.Storable( Vec- ) import Graphics.Vulkan.Core( VkResult(..) ) import Foreign.C.Types( CChar ) data VkExtensionProperties =- VkExtensionProperties{ vkExtensionName :: Vec (ToPeano VK_MAX_EXTENSION_NAME_SIZE) CChar + VkExtensionProperties{ vkExtensionName :: Vector VK_MAX_EXTENSION_NAME_SIZE CChar , vkSpecVersion :: Word32 } deriving (Eq)
src/Graphics/Vulkan/Image.hs view
@@ -5,6 +5,11 @@ module Graphics.Vulkan.Image where import Graphics.Vulkan.Device( VkDevice(..) )+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -29,6 +34,13 @@ , PFN_vkFreeFunction , PFN_vkInternalFreeNotification )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Sampler( VkSampleCountFlagBits(..) ) import Graphics.Vulkan.Core( VkExtent3D(..)@@ -138,6 +150,23 @@ newtype VkImageTiling = VkImageTiling Int32 deriving (Eq, Storable) +instance Show VkImageTiling where+ showsPrec _ VK_IMAGE_TILING_OPTIMAL = showString "VK_IMAGE_TILING_OPTIMAL"+ showsPrec _ VK_IMAGE_TILING_LINEAR = showString "VK_IMAGE_TILING_LINEAR"+ showsPrec p (VkImageTiling x) = showParen (p >= 11) (showString "VkImageTiling " . showsPrec 11 x)++instance Read VkImageTiling where+ readPrec = parens ( choose [ ("VK_IMAGE_TILING_OPTIMAL", pure VK_IMAGE_TILING_OPTIMAL)+ , ("VK_IMAGE_TILING_LINEAR", pure VK_IMAGE_TILING_LINEAR)+ ] ++++ prec 10 (do+ expectP (Ident "VkImageTiling")+ v <- step readPrec+ pure (VkImageTiling v)+ )+ )++ pattern VK_IMAGE_TILING_OPTIMAL = VkImageTiling 0 pattern VK_IMAGE_TILING_LINEAR = VkImageTiling 1@@ -146,6 +175,37 @@ newtype VkImageLayout = VkImageLayout Int32 deriving (Eq, Storable)++instance Show VkImageLayout where+ showsPrec _ VK_IMAGE_LAYOUT_UNDEFINED = showString "VK_IMAGE_LAYOUT_UNDEFINED"+ showsPrec _ VK_IMAGE_LAYOUT_GENERAL = showString "VK_IMAGE_LAYOUT_GENERAL"+ showsPrec _ VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = showString "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL"+ showsPrec _ VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = showString "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL"+ showsPrec _ VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = showString "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL"+ showsPrec _ VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = showString "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL"+ showsPrec _ VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = showString "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL"+ showsPrec _ VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = showString "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL"+ showsPrec _ VK_IMAGE_LAYOUT_PREINITIALIZED = showString "VK_IMAGE_LAYOUT_PREINITIALIZED"+ showsPrec p (VkImageLayout x) = showParen (p >= 11) (showString "VkImageLayout " . showsPrec 11 x)++instance Read VkImageLayout where+ readPrec = parens ( choose [ ("VK_IMAGE_LAYOUT_UNDEFINED", pure VK_IMAGE_LAYOUT_UNDEFINED)+ , ("VK_IMAGE_LAYOUT_GENERAL", pure VK_IMAGE_LAYOUT_GENERAL)+ , ("VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL", pure VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL)+ , ("VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL", pure VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL)+ , ("VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL", pure VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL)+ , ("VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL", pure VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL)+ , ("VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL", pure VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL)+ , ("VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL", pure VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL)+ , ("VK_IMAGE_LAYOUT_PREINITIALIZED", pure VK_IMAGE_LAYOUT_PREINITIALIZED)+ ] ++++ prec 10 (do+ expectP (Ident "VkImageLayout")+ v <- step readPrec+ pure (VkImageLayout v)+ )+ )+ -- | Implicit layout an image is when its contents are undefined due to various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED = VkImageLayout 0 -- | General layout when image can be used for any kind of access@@ -169,6 +229,25 @@ newtype VkImageType = VkImageType Int32 deriving (Eq, Storable)++instance Show VkImageType where+ showsPrec _ VK_IMAGE_TYPE_1D = showString "VK_IMAGE_TYPE_1D"+ showsPrec _ VK_IMAGE_TYPE_2D = showString "VK_IMAGE_TYPE_2D"+ showsPrec _ VK_IMAGE_TYPE_3D = showString "VK_IMAGE_TYPE_3D"+ showsPrec p (VkImageType x) = showParen (p >= 11) (showString "VkImageType " . showsPrec 11 x)++instance Read VkImageType where+ readPrec = parens ( choose [ ("VK_IMAGE_TYPE_1D", pure VK_IMAGE_TYPE_1D)+ , ("VK_IMAGE_TYPE_2D", pure VK_IMAGE_TYPE_2D)+ , ("VK_IMAGE_TYPE_3D", pure VK_IMAGE_TYPE_3D)+ ] ++++ prec 10 (do+ expectP (Ident "VkImageType")+ v <- step readPrec+ pure (VkImageType v)+ )+ )+ pattern VK_IMAGE_TYPE_1D = VkImageType 0
src/Graphics/Vulkan/ImageView.hs view
@@ -5,6 +5,11 @@ module Graphics.Vulkan.ImageView where import Graphics.Vulkan.Device( VkDevice(..) )+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -26,6 +31,13 @@ , PFN_vkFreeFunction , PFN_vkInternalFreeNotification )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Image( VkImage(..) , VkImageAspectFlagBits(..) , VkImageSubresourceRange(..)@@ -86,6 +98,33 @@ newtype VkImageViewType = VkImageViewType Int32 deriving (Eq, Storable) +instance Show VkImageViewType where+ showsPrec _ VK_IMAGE_VIEW_TYPE_1D = showString "VK_IMAGE_VIEW_TYPE_1D"+ showsPrec _ VK_IMAGE_VIEW_TYPE_2D = showString "VK_IMAGE_VIEW_TYPE_2D"+ showsPrec _ VK_IMAGE_VIEW_TYPE_3D = showString "VK_IMAGE_VIEW_TYPE_3D"+ showsPrec _ VK_IMAGE_VIEW_TYPE_CUBE = showString "VK_IMAGE_VIEW_TYPE_CUBE"+ showsPrec _ VK_IMAGE_VIEW_TYPE_1D_ARRAY = showString "VK_IMAGE_VIEW_TYPE_1D_ARRAY"+ showsPrec _ VK_IMAGE_VIEW_TYPE_2D_ARRAY = showString "VK_IMAGE_VIEW_TYPE_2D_ARRAY"+ showsPrec _ VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = showString "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY"+ showsPrec p (VkImageViewType x) = showParen (p >= 11) (showString "VkImageViewType " . showsPrec 11 x)++instance Read VkImageViewType where+ readPrec = parens ( choose [ ("VK_IMAGE_VIEW_TYPE_1D", pure VK_IMAGE_VIEW_TYPE_1D)+ , ("VK_IMAGE_VIEW_TYPE_2D", pure VK_IMAGE_VIEW_TYPE_2D)+ , ("VK_IMAGE_VIEW_TYPE_3D", pure VK_IMAGE_VIEW_TYPE_3D)+ , ("VK_IMAGE_VIEW_TYPE_CUBE", pure VK_IMAGE_VIEW_TYPE_CUBE)+ , ("VK_IMAGE_VIEW_TYPE_1D_ARRAY", pure VK_IMAGE_VIEW_TYPE_1D_ARRAY)+ , ("VK_IMAGE_VIEW_TYPE_2D_ARRAY", pure VK_IMAGE_VIEW_TYPE_2D_ARRAY)+ , ("VK_IMAGE_VIEW_TYPE_CUBE_ARRAY", pure VK_IMAGE_VIEW_TYPE_CUBE_ARRAY)+ ] ++++ prec 10 (do+ expectP (Ident "VkImageViewType")+ v <- step readPrec+ pure (VkImageViewType v)+ )+ )++ pattern VK_IMAGE_VIEW_TYPE_1D = VkImageViewType 0 pattern VK_IMAGE_VIEW_TYPE_2D = VkImageViewType 1@@ -131,6 +170,33 @@ newtype VkComponentSwizzle = VkComponentSwizzle Int32 deriving (Eq, Storable)++instance Show VkComponentSwizzle where+ showsPrec _ VK_COMPONENT_SWIZZLE_IDENTITY = showString "VK_COMPONENT_SWIZZLE_IDENTITY"+ showsPrec _ VK_COMPONENT_SWIZZLE_ZERO = showString "VK_COMPONENT_SWIZZLE_ZERO"+ showsPrec _ VK_COMPONENT_SWIZZLE_ONE = showString "VK_COMPONENT_SWIZZLE_ONE"+ showsPrec _ VK_COMPONENT_SWIZZLE_R = showString "VK_COMPONENT_SWIZZLE_R"+ showsPrec _ VK_COMPONENT_SWIZZLE_G = showString "VK_COMPONENT_SWIZZLE_G"+ showsPrec _ VK_COMPONENT_SWIZZLE_B = showString "VK_COMPONENT_SWIZZLE_B"+ showsPrec _ VK_COMPONENT_SWIZZLE_A = showString "VK_COMPONENT_SWIZZLE_A"+ showsPrec p (VkComponentSwizzle x) = showParen (p >= 11) (showString "VkComponentSwizzle " . showsPrec 11 x)++instance Read VkComponentSwizzle where+ readPrec = parens ( choose [ ("VK_COMPONENT_SWIZZLE_IDENTITY", pure VK_COMPONENT_SWIZZLE_IDENTITY)+ , ("VK_COMPONENT_SWIZZLE_ZERO", pure VK_COMPONENT_SWIZZLE_ZERO)+ , ("VK_COMPONENT_SWIZZLE_ONE", pure VK_COMPONENT_SWIZZLE_ONE)+ , ("VK_COMPONENT_SWIZZLE_R", pure VK_COMPONENT_SWIZZLE_R)+ , ("VK_COMPONENT_SWIZZLE_G", pure VK_COMPONENT_SWIZZLE_G)+ , ("VK_COMPONENT_SWIZZLE_B", pure VK_COMPONENT_SWIZZLE_B)+ , ("VK_COMPONENT_SWIZZLE_A", pure VK_COMPONENT_SWIZZLE_A)+ ] ++++ prec 10 (do+ expectP (Ident "VkComponentSwizzle")+ v <- step readPrec+ pure (VkComponentSwizzle v)+ )+ )+ pattern VK_COMPONENT_SWIZZLE_IDENTITY = VkComponentSwizzle 0
src/Graphics/Vulkan/KHR/Surface.hs view
@@ -1,6 +1,11 @@ {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} module Graphics.Vulkan.KHR.Surface where+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -8,6 +13,13 @@ ) import Foreign.Storable( Storable(..) )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Core( VkFlags(..) ) -- ** VkCompositeAlphaFlagsKHR@@ -20,6 +32,27 @@ newtype VkPresentModeKHR = VkPresentModeKHR Int32 deriving (Eq, Storable) +instance Show VkPresentModeKHR where+ showsPrec _ VK_PRESENT_MODE_IMMEDIATE_KHR = showString "VK_PRESENT_MODE_IMMEDIATE_KHR"+ showsPrec _ VK_PRESENT_MODE_MAILBOX_KHR = showString "VK_PRESENT_MODE_MAILBOX_KHR"+ showsPrec _ VK_PRESENT_MODE_FIFO_KHR = showString "VK_PRESENT_MODE_FIFO_KHR"+ showsPrec _ VK_PRESENT_MODE_FIFO_RELAXED_KHR = showString "VK_PRESENT_MODE_FIFO_RELAXED_KHR"+ showsPrec p (VkPresentModeKHR x) = showParen (p >= 11) (showString "VkPresentModeKHR " . showsPrec 11 x)++instance Read VkPresentModeKHR where+ readPrec = parens ( choose [ ("VK_PRESENT_MODE_IMMEDIATE_KHR", pure VK_PRESENT_MODE_IMMEDIATE_KHR)+ , ("VK_PRESENT_MODE_MAILBOX_KHR", pure VK_PRESENT_MODE_MAILBOX_KHR)+ , ("VK_PRESENT_MODE_FIFO_KHR", pure VK_PRESENT_MODE_FIFO_KHR)+ , ("VK_PRESENT_MODE_FIFO_RELAXED_KHR", pure VK_PRESENT_MODE_FIFO_RELAXED_KHR)+ ] ++++ prec 10 (do+ expectP (Ident "VkPresentModeKHR")+ v <- step readPrec+ pure (VkPresentModeKHR v)+ )+ )++ pattern VK_PRESENT_MODE_IMMEDIATE_KHR = VkPresentModeKHR 0 pattern VK_PRESENT_MODE_MAILBOX_KHR = VkPresentModeKHR 1@@ -35,6 +68,21 @@ newtype VkColorSpaceKHR = VkColorSpaceKHR Int32 deriving (Eq, Storable)++instance Show VkColorSpaceKHR where+ showsPrec _ VK_COLORSPACE_SRGB_NONLINEAR_KHR = showString "VK_COLORSPACE_SRGB_NONLINEAR_KHR"+ showsPrec p (VkColorSpaceKHR x) = showParen (p >= 11) (showString "VkColorSpaceKHR " . showsPrec 11 x)++instance Read VkColorSpaceKHR where+ readPrec = parens ( choose [ ("VK_COLORSPACE_SRGB_NONLINEAR_KHR", pure VK_COLORSPACE_SRGB_NONLINEAR_KHR)+ ] ++++ prec 10 (do+ expectP (Ident "VkColorSpaceKHR")+ v <- step readPrec+ pure (VkColorSpaceKHR v)+ )+ )+ pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR = VkColorSpaceKHR 0
src/Graphics/Vulkan/LayerDiscovery.hs view
@@ -2,6 +2,8 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE Strict #-} module Graphics.Vulkan.LayerDiscovery where+import Data.Vector.Storable.Sized( Vector+ ) import Graphics.Vulkan.Device( VkPhysicalDevice(..) ) import Data.Word( Word32@@ -9,25 +11,21 @@ import Foreign.Ptr( Ptr , plusPtr )-import Data.Vector.Fixed.Cont( ToPeano- ) import Foreign.Storable( Storable(..) ) import Graphics.Vulkan.Constants( VK_MAX_EXTENSION_NAME_SIZE , VK_MAX_DESCRIPTION_SIZE )-import Data.Vector.Fixed.Storable( Vec- ) import Graphics.Vulkan.Core( VkResult(..) ) import Foreign.C.Types( CChar ) data VkLayerProperties =- VkLayerProperties{ vkLayerName :: Vec (ToPeano VK_MAX_EXTENSION_NAME_SIZE) CChar + VkLayerProperties{ vkLayerName :: Vector VK_MAX_EXTENSION_NAME_SIZE CChar , vkSpecVersion :: Word32 , vkImplementationVersion :: Word32 - , vkDescription :: Vec (ToPeano VK_MAX_DESCRIPTION_SIZE) CChar + , vkDescription :: Vector VK_MAX_DESCRIPTION_SIZE CChar } deriving (Eq)
src/Graphics/Vulkan/Memory.hs view
@@ -5,6 +5,11 @@ module Graphics.Vulkan.Memory where import {-# SOURCE #-} Graphics.Vulkan.Device( VkDevice(..) )+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -18,6 +23,13 @@ ) import Data.Void( Void )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Core( VkResult(..) , VkDeviceSize(..) , VkFlags(..)@@ -78,6 +90,29 @@ newtype VkSystemAllocationScope = VkSystemAllocationScope Int32 deriving (Eq, Storable) +instance Show VkSystemAllocationScope where+ showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = showString "VK_SYSTEM_ALLOCATION_SCOPE_COMMAND"+ showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = showString "VK_SYSTEM_ALLOCATION_SCOPE_OBJECT"+ showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_CACHE = showString "VK_SYSTEM_ALLOCATION_SCOPE_CACHE"+ showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = showString "VK_SYSTEM_ALLOCATION_SCOPE_DEVICE"+ showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = showString "VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE"+ showsPrec p (VkSystemAllocationScope x) = showParen (p >= 11) (showString "VkSystemAllocationScope " . showsPrec 11 x)++instance Read VkSystemAllocationScope where+ readPrec = parens ( choose [ ("VK_SYSTEM_ALLOCATION_SCOPE_COMMAND", pure VK_SYSTEM_ALLOCATION_SCOPE_COMMAND)+ , ("VK_SYSTEM_ALLOCATION_SCOPE_OBJECT", pure VK_SYSTEM_ALLOCATION_SCOPE_OBJECT)+ , ("VK_SYSTEM_ALLOCATION_SCOPE_CACHE", pure VK_SYSTEM_ALLOCATION_SCOPE_CACHE)+ , ("VK_SYSTEM_ALLOCATION_SCOPE_DEVICE", pure VK_SYSTEM_ALLOCATION_SCOPE_DEVICE)+ , ("VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE", pure VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE)+ ] ++++ prec 10 (do+ expectP (Ident "VkSystemAllocationScope")+ v <- step readPrec+ pure (VkSystemAllocationScope v)+ )+ )++ pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = VkSystemAllocationScope 0 pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = VkSystemAllocationScope 1@@ -123,6 +158,21 @@ newtype VkInternalAllocationType = VkInternalAllocationType Int32 deriving (Eq, Storable)++instance Show VkInternalAllocationType where+ showsPrec _ VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = showString "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE"+ showsPrec p (VkInternalAllocationType x) = showParen (p >= 11) (showString "VkInternalAllocationType " . showsPrec 11 x)++instance Read VkInternalAllocationType where+ readPrec = parens ( choose [ ("VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE", pure VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE)+ ] ++++ prec 10 (do+ expectP (Ident "VkInternalAllocationType")+ v <- step readPrec+ pure (VkInternalAllocationType v)+ )+ )+ pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = VkInternalAllocationType 0
src/Graphics/Vulkan/Pass.hs view
@@ -5,6 +5,11 @@ module Graphics.Vulkan.Pass where import Graphics.Vulkan.Device( VkDevice(..) )+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Graphics.Vulkan.Pipeline( VkPipelineStageFlagBits(..) , VkPipelineStageFlags(..) , VkPipelineBindPoint(..)@@ -33,6 +38,13 @@ , PFN_vkFreeFunction , PFN_vkInternalFreeNotification )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Sampler( VkSampleCountFlagBits(..) ) import Graphics.Vulkan.Image( VkImageLayout(..)@@ -162,6 +174,25 @@ newtype VkAttachmentLoadOp = VkAttachmentLoadOp Int32 deriving (Eq, Storable) +instance Show VkAttachmentLoadOp where+ showsPrec _ VK_ATTACHMENT_LOAD_OP_LOAD = showString "VK_ATTACHMENT_LOAD_OP_LOAD"+ showsPrec _ VK_ATTACHMENT_LOAD_OP_CLEAR = showString "VK_ATTACHMENT_LOAD_OP_CLEAR"+ showsPrec _ VK_ATTACHMENT_LOAD_OP_DONT_CARE = showString "VK_ATTACHMENT_LOAD_OP_DONT_CARE"+ showsPrec p (VkAttachmentLoadOp x) = showParen (p >= 11) (showString "VkAttachmentLoadOp " . showsPrec 11 x)++instance Read VkAttachmentLoadOp where+ readPrec = parens ( choose [ ("VK_ATTACHMENT_LOAD_OP_LOAD", pure VK_ATTACHMENT_LOAD_OP_LOAD)+ , ("VK_ATTACHMENT_LOAD_OP_CLEAR", pure VK_ATTACHMENT_LOAD_OP_CLEAR)+ , ("VK_ATTACHMENT_LOAD_OP_DONT_CARE", pure VK_ATTACHMENT_LOAD_OP_DONT_CARE)+ ] ++++ prec 10 (do+ expectP (Ident "VkAttachmentLoadOp")+ v <- step readPrec+ pure (VkAttachmentLoadOp v)+ )+ )++ pattern VK_ATTACHMENT_LOAD_OP_LOAD = VkAttachmentLoadOp 0 pattern VK_ATTACHMENT_LOAD_OP_CLEAR = VkAttachmentLoadOp 1@@ -172,6 +203,23 @@ newtype VkAttachmentStoreOp = VkAttachmentStoreOp Int32 deriving (Eq, Storable)++instance Show VkAttachmentStoreOp where+ showsPrec _ VK_ATTACHMENT_STORE_OP_STORE = showString "VK_ATTACHMENT_STORE_OP_STORE"+ showsPrec _ VK_ATTACHMENT_STORE_OP_DONT_CARE = showString "VK_ATTACHMENT_STORE_OP_DONT_CARE"+ showsPrec p (VkAttachmentStoreOp x) = showParen (p >= 11) (showString "VkAttachmentStoreOp " . showsPrec 11 x)++instance Read VkAttachmentStoreOp where+ readPrec = parens ( choose [ ("VK_ATTACHMENT_STORE_OP_STORE", pure VK_ATTACHMENT_STORE_OP_STORE)+ , ("VK_ATTACHMENT_STORE_OP_DONT_CARE", pure VK_ATTACHMENT_STORE_OP_DONT_CARE)+ ] ++++ prec 10 (do+ expectP (Ident "VkAttachmentStoreOp")+ v <- step readPrec+ pure (VkAttachmentStoreOp v)+ )+ )+ pattern VK_ATTACHMENT_STORE_OP_STORE = VkAttachmentStoreOp 0
src/Graphics/Vulkan/Pipeline.hs view
@@ -4,10 +4,17 @@ {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} module Graphics.Vulkan.Pipeline where+import Data.Vector.Storable.Sized( Vector+ ) import Graphics.Vulkan.Device( VkDevice(..) ) import {-# SOURCE #-} Graphics.Vulkan.Pass( VkRenderPass(..) )+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -18,8 +25,6 @@ ) import Data.Int( Int32 )-import Data.Vector.Fixed.Cont( ToPeano- ) import Data.Bits( Bits , FiniteBits )@@ -38,14 +43,19 @@ ) import Graphics.Vulkan.PipelineLayout( VkPipelineLayout(..) )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Shader( VkShaderStageFlagBits(..) , VkShaderModule(..) ) import Graphics.Vulkan.Sampler( VkSampleCountFlagBits(..) , VkCompareOp(..) )-import Data.Vector.Fixed.Storable( Vec- ) import Graphics.Vulkan.Core( VkResult(..) , VkBool32(..) , VkExtent2D(..)@@ -276,6 +286,35 @@ newtype VkStencilOp = VkStencilOp Int32 deriving (Eq, Storable) +instance Show VkStencilOp where+ showsPrec _ VK_STENCIL_OP_KEEP = showString "VK_STENCIL_OP_KEEP"+ showsPrec _ VK_STENCIL_OP_ZERO = showString "VK_STENCIL_OP_ZERO"+ showsPrec _ VK_STENCIL_OP_REPLACE = showString "VK_STENCIL_OP_REPLACE"+ showsPrec _ VK_STENCIL_OP_INCREMENT_AND_CLAMP = showString "VK_STENCIL_OP_INCREMENT_AND_CLAMP"+ showsPrec _ VK_STENCIL_OP_DECREMENT_AND_CLAMP = showString "VK_STENCIL_OP_DECREMENT_AND_CLAMP"+ showsPrec _ VK_STENCIL_OP_INVERT = showString "VK_STENCIL_OP_INVERT"+ showsPrec _ VK_STENCIL_OP_INCREMENT_AND_WRAP = showString "VK_STENCIL_OP_INCREMENT_AND_WRAP"+ showsPrec _ VK_STENCIL_OP_DECREMENT_AND_WRAP = showString "VK_STENCIL_OP_DECREMENT_AND_WRAP"+ showsPrec p (VkStencilOp x) = showParen (p >= 11) (showString "VkStencilOp " . showsPrec 11 x)++instance Read VkStencilOp where+ readPrec = parens ( choose [ ("VK_STENCIL_OP_KEEP", pure VK_STENCIL_OP_KEEP)+ , ("VK_STENCIL_OP_ZERO", pure VK_STENCIL_OP_ZERO)+ , ("VK_STENCIL_OP_REPLACE", pure VK_STENCIL_OP_REPLACE)+ , ("VK_STENCIL_OP_INCREMENT_AND_CLAMP", pure VK_STENCIL_OP_INCREMENT_AND_CLAMP)+ , ("VK_STENCIL_OP_DECREMENT_AND_CLAMP", pure VK_STENCIL_OP_DECREMENT_AND_CLAMP)+ , ("VK_STENCIL_OP_INVERT", pure VK_STENCIL_OP_INVERT)+ , ("VK_STENCIL_OP_INCREMENT_AND_WRAP", pure VK_STENCIL_OP_INCREMENT_AND_WRAP)+ , ("VK_STENCIL_OP_DECREMENT_AND_WRAP", pure VK_STENCIL_OP_DECREMENT_AND_WRAP)+ ] ++++ prec 10 (do+ expectP (Ident "VkStencilOp")+ v <- step readPrec+ pure (VkStencilOp v)+ )+ )++ pattern VK_STENCIL_OP_KEEP = VkStencilOp 0 pattern VK_STENCIL_OP_ZERO = VkStencilOp 1@@ -340,6 +379,23 @@ newtype VkFrontFace = VkFrontFace Int32 deriving (Eq, Storable) +instance Show VkFrontFace where+ showsPrec _ VK_FRONT_FACE_COUNTER_CLOCKWISE = showString "VK_FRONT_FACE_COUNTER_CLOCKWISE"+ showsPrec _ VK_FRONT_FACE_CLOCKWISE = showString "VK_FRONT_FACE_CLOCKWISE"+ showsPrec p (VkFrontFace x) = showParen (p >= 11) (showString "VkFrontFace " . showsPrec 11 x)++instance Read VkFrontFace where+ readPrec = parens ( choose [ ("VK_FRONT_FACE_COUNTER_CLOCKWISE", pure VK_FRONT_FACE_COUNTER_CLOCKWISE)+ , ("VK_FRONT_FACE_CLOCKWISE", pure VK_FRONT_FACE_CLOCKWISE)+ ] ++++ prec 10 (do+ expectP (Ident "VkFrontFace")+ v <- step readPrec+ pure (VkFrontFace v)+ )+ )++ pattern VK_FRONT_FACE_COUNTER_CLOCKWISE = VkFrontFace 0 pattern VK_FRONT_FACE_CLOCKWISE = VkFrontFace 1@@ -349,6 +405,25 @@ newtype VkPolygonMode = VkPolygonMode Int32 deriving (Eq, Storable) +instance Show VkPolygonMode where+ showsPrec _ VK_POLYGON_MODE_FILL = showString "VK_POLYGON_MODE_FILL"+ showsPrec _ VK_POLYGON_MODE_LINE = showString "VK_POLYGON_MODE_LINE"+ showsPrec _ VK_POLYGON_MODE_POINT = showString "VK_POLYGON_MODE_POINT"+ showsPrec p (VkPolygonMode x) = showParen (p >= 11) (showString "VkPolygonMode " . showsPrec 11 x)++instance Read VkPolygonMode where+ readPrec = parens ( choose [ ("VK_POLYGON_MODE_FILL", pure VK_POLYGON_MODE_FILL)+ , ("VK_POLYGON_MODE_LINE", pure VK_POLYGON_MODE_LINE)+ , ("VK_POLYGON_MODE_POINT", pure VK_POLYGON_MODE_POINT)+ ] ++++ prec 10 (do+ expectP (Ident "VkPolygonMode")+ v <- step readPrec+ pure (VkPolygonMode v)+ )+ )++ pattern VK_POLYGON_MODE_FILL = VkPolygonMode 0 pattern VK_POLYGON_MODE_LINE = VkPolygonMode 1@@ -365,6 +440,51 @@ newtype VkLogicOp = VkLogicOp Int32 deriving (Eq, Storable) +instance Show VkLogicOp where+ showsPrec _ VK_LOGIC_OP_CLEAR = showString "VK_LOGIC_OP_CLEAR"+ showsPrec _ VK_LOGIC_OP_AND = showString "VK_LOGIC_OP_AND"+ showsPrec _ VK_LOGIC_OP_AND_REVERSE = showString "VK_LOGIC_OP_AND_REVERSE"+ showsPrec _ VK_LOGIC_OP_COPY = showString "VK_LOGIC_OP_COPY"+ showsPrec _ VK_LOGIC_OP_AND_INVERTED = showString "VK_LOGIC_OP_AND_INVERTED"+ showsPrec _ VK_LOGIC_OP_NO_OP = showString "VK_LOGIC_OP_NO_OP"+ showsPrec _ VK_LOGIC_OP_XOR = showString "VK_LOGIC_OP_XOR"+ showsPrec _ VK_LOGIC_OP_OR = showString "VK_LOGIC_OP_OR"+ showsPrec _ VK_LOGIC_OP_NOR = showString "VK_LOGIC_OP_NOR"+ showsPrec _ VK_LOGIC_OP_EQUIVALENT = showString "VK_LOGIC_OP_EQUIVALENT"+ showsPrec _ VK_LOGIC_OP_INVERT = showString "VK_LOGIC_OP_INVERT"+ showsPrec _ VK_LOGIC_OP_OR_REVERSE = showString "VK_LOGIC_OP_OR_REVERSE"+ showsPrec _ VK_LOGIC_OP_COPY_INVERTED = showString "VK_LOGIC_OP_COPY_INVERTED"+ showsPrec _ VK_LOGIC_OP_OR_INVERTED = showString "VK_LOGIC_OP_OR_INVERTED"+ showsPrec _ VK_LOGIC_OP_NAND = showString "VK_LOGIC_OP_NAND"+ showsPrec _ VK_LOGIC_OP_SET = showString "VK_LOGIC_OP_SET"+ showsPrec p (VkLogicOp x) = showParen (p >= 11) (showString "VkLogicOp " . showsPrec 11 x)++instance Read VkLogicOp where+ readPrec = parens ( choose [ ("VK_LOGIC_OP_CLEAR", pure VK_LOGIC_OP_CLEAR)+ , ("VK_LOGIC_OP_AND", pure VK_LOGIC_OP_AND)+ , ("VK_LOGIC_OP_AND_REVERSE", pure VK_LOGIC_OP_AND_REVERSE)+ , ("VK_LOGIC_OP_COPY", pure VK_LOGIC_OP_COPY)+ , ("VK_LOGIC_OP_AND_INVERTED", pure VK_LOGIC_OP_AND_INVERTED)+ , ("VK_LOGIC_OP_NO_OP", pure VK_LOGIC_OP_NO_OP)+ , ("VK_LOGIC_OP_XOR", pure VK_LOGIC_OP_XOR)+ , ("VK_LOGIC_OP_OR", pure VK_LOGIC_OP_OR)+ , ("VK_LOGIC_OP_NOR", pure VK_LOGIC_OP_NOR)+ , ("VK_LOGIC_OP_EQUIVALENT", pure VK_LOGIC_OP_EQUIVALENT)+ , ("VK_LOGIC_OP_INVERT", pure VK_LOGIC_OP_INVERT)+ , ("VK_LOGIC_OP_OR_REVERSE", pure VK_LOGIC_OP_OR_REVERSE)+ , ("VK_LOGIC_OP_COPY_INVERTED", pure VK_LOGIC_OP_COPY_INVERTED)+ , ("VK_LOGIC_OP_OR_INVERTED", pure VK_LOGIC_OP_OR_INVERTED)+ , ("VK_LOGIC_OP_NAND", pure VK_LOGIC_OP_NAND)+ , ("VK_LOGIC_OP_SET", pure VK_LOGIC_OP_SET)+ ] ++++ prec 10 (do+ expectP (Ident "VkLogicOp")+ v <- step readPrec+ pure (VkLogicOp v)+ )+ )++ pattern VK_LOGIC_OP_CLEAR = VkLogicOp 0 pattern VK_LOGIC_OP_AND = VkLogicOp 1@@ -421,6 +541,37 @@ newtype VkDynamicState = VkDynamicState Int32 deriving (Eq, Storable) +instance Show VkDynamicState where+ showsPrec _ VK_DYNAMIC_STATE_VIEWPORT = showString "VK_DYNAMIC_STATE_VIEWPORT"+ showsPrec _ VK_DYNAMIC_STATE_SCISSOR = showString "VK_DYNAMIC_STATE_SCISSOR"+ showsPrec _ VK_DYNAMIC_STATE_LINE_WIDTH = showString "VK_DYNAMIC_STATE_LINE_WIDTH"+ showsPrec _ VK_DYNAMIC_STATE_DEPTH_BIAS = showString "VK_DYNAMIC_STATE_DEPTH_BIAS"+ showsPrec _ VK_DYNAMIC_STATE_BLEND_CONSTANTS = showString "VK_DYNAMIC_STATE_BLEND_CONSTANTS"+ showsPrec _ VK_DYNAMIC_STATE_DEPTH_BOUNDS = showString "VK_DYNAMIC_STATE_DEPTH_BOUNDS"+ showsPrec _ VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = showString "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK"+ showsPrec _ VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = showString "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK"+ showsPrec _ VK_DYNAMIC_STATE_STENCIL_REFERENCE = showString "VK_DYNAMIC_STATE_STENCIL_REFERENCE"+ showsPrec p (VkDynamicState x) = showParen (p >= 11) (showString "VkDynamicState " . showsPrec 11 x)++instance Read VkDynamicState where+ readPrec = parens ( choose [ ("VK_DYNAMIC_STATE_VIEWPORT", pure VK_DYNAMIC_STATE_VIEWPORT)+ , ("VK_DYNAMIC_STATE_SCISSOR", pure VK_DYNAMIC_STATE_SCISSOR)+ , ("VK_DYNAMIC_STATE_LINE_WIDTH", pure VK_DYNAMIC_STATE_LINE_WIDTH)+ , ("VK_DYNAMIC_STATE_DEPTH_BIAS", pure VK_DYNAMIC_STATE_DEPTH_BIAS)+ , ("VK_DYNAMIC_STATE_BLEND_CONSTANTS", pure VK_DYNAMIC_STATE_BLEND_CONSTANTS)+ , ("VK_DYNAMIC_STATE_DEPTH_BOUNDS", pure VK_DYNAMIC_STATE_DEPTH_BOUNDS)+ , ("VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK", pure VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK)+ , ("VK_DYNAMIC_STATE_STENCIL_WRITE_MASK", pure VK_DYNAMIC_STATE_STENCIL_WRITE_MASK)+ , ("VK_DYNAMIC_STATE_STENCIL_REFERENCE", pure VK_DYNAMIC_STATE_STENCIL_REFERENCE)+ ] ++++ prec 10 (do+ expectP (Ident "VkDynamicState")+ v <- step readPrec+ pure (VkDynamicState v)+ )+ )++ pattern VK_DYNAMIC_STATE_VIEWPORT = VkDynamicState 0 pattern VK_DYNAMIC_STATE_SCISSOR = VkDynamicState 1@@ -444,6 +595,23 @@ newtype VkPipelineBindPoint = VkPipelineBindPoint Int32 deriving (Eq, Storable) +instance Show VkPipelineBindPoint where+ showsPrec _ VK_PIPELINE_BIND_POINT_GRAPHICS = showString "VK_PIPELINE_BIND_POINT_GRAPHICS"+ showsPrec _ VK_PIPELINE_BIND_POINT_COMPUTE = showString "VK_PIPELINE_BIND_POINT_COMPUTE"+ showsPrec p (VkPipelineBindPoint x) = showParen (p >= 11) (showString "VkPipelineBindPoint " . showsPrec 11 x)++instance Read VkPipelineBindPoint where+ readPrec = parens ( choose [ ("VK_PIPELINE_BIND_POINT_GRAPHICS", pure VK_PIPELINE_BIND_POINT_GRAPHICS)+ , ("VK_PIPELINE_BIND_POINT_COMPUTE", pure VK_PIPELINE_BIND_POINT_COMPUTE)+ ] ++++ prec 10 (do+ expectP (Ident "VkPipelineBindPoint")+ v <- step readPrec+ pure (VkPipelineBindPoint v)+ )+ )++ pattern VK_PIPELINE_BIND_POINT_GRAPHICS = VkPipelineBindPoint 0 pattern VK_PIPELINE_BIND_POINT_COMPUTE = VkPipelineBindPoint 1@@ -507,6 +675,29 @@ newtype VkBlendOp = VkBlendOp Int32 deriving (Eq, Storable) +instance Show VkBlendOp where+ showsPrec _ VK_BLEND_OP_ADD = showString "VK_BLEND_OP_ADD"+ showsPrec _ VK_BLEND_OP_SUBTRACT = showString "VK_BLEND_OP_SUBTRACT"+ showsPrec _ VK_BLEND_OP_REVERSE_SUBTRACT = showString "VK_BLEND_OP_REVERSE_SUBTRACT"+ showsPrec _ VK_BLEND_OP_MIN = showString "VK_BLEND_OP_MIN"+ showsPrec _ VK_BLEND_OP_MAX = showString "VK_BLEND_OP_MAX"+ showsPrec p (VkBlendOp x) = showParen (p >= 11) (showString "VkBlendOp " . showsPrec 11 x)++instance Read VkBlendOp where+ readPrec = parens ( choose [ ("VK_BLEND_OP_ADD", pure VK_BLEND_OP_ADD)+ , ("VK_BLEND_OP_SUBTRACT", pure VK_BLEND_OP_SUBTRACT)+ , ("VK_BLEND_OP_REVERSE_SUBTRACT", pure VK_BLEND_OP_REVERSE_SUBTRACT)+ , ("VK_BLEND_OP_MIN", pure VK_BLEND_OP_MIN)+ , ("VK_BLEND_OP_MAX", pure VK_BLEND_OP_MAX)+ ] ++++ prec 10 (do+ expectP (Ident "VkBlendOp")+ v <- step readPrec+ pure (VkBlendOp v)+ )+ )++ pattern VK_BLEND_OP_ADD = VkBlendOp 0 pattern VK_BLEND_OP_SUBTRACT = VkBlendOp 1@@ -598,6 +789,41 @@ newtype VkPrimitiveTopology = VkPrimitiveTopology Int32 deriving (Eq, Storable) +instance Show VkPrimitiveTopology where+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_POINT_LIST = showString "VK_PRIMITIVE_TOPOLOGY_POINT_LIST"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_LIST = showString "VK_PRIMITIVE_TOPOLOGY_LINE_LIST"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = showString "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = showString "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = showString "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = showString "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST"+ showsPrec p (VkPrimitiveTopology x) = showParen (p >= 11) (showString "VkPrimitiveTopology " . showsPrec 11 x)++instance Read VkPrimitiveTopology where+ readPrec = parens ( choose [ ("VK_PRIMITIVE_TOPOLOGY_POINT_LIST", pure VK_PRIMITIVE_TOPOLOGY_POINT_LIST)+ , ("VK_PRIMITIVE_TOPOLOGY_LINE_LIST", pure VK_PRIMITIVE_TOPOLOGY_LINE_LIST)+ , ("VK_PRIMITIVE_TOPOLOGY_LINE_STRIP", pure VK_PRIMITIVE_TOPOLOGY_LINE_STRIP)+ , ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST", pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST)+ , ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP", pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP)+ , ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN", pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN)+ , ("VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY", pure VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY)+ , ("VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY", pure VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY)+ , ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY", pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY)+ , ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY", pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY)+ , ("VK_PRIMITIVE_TOPOLOGY_PATCH_LIST", pure VK_PRIMITIVE_TOPOLOGY_PATCH_LIST)+ ] ++++ prec 10 (do+ expectP (Ident "VkPrimitiveTopology")+ v <- step readPrec+ pure (VkPrimitiveTopology v)+ )+ )++ pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST = VkPrimitiveTopology 0 pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST = VkPrimitiveTopology 1@@ -654,7 +880,7 @@ , vkLogicOp :: VkLogicOp , vkAttachmentCount :: Word32 , vkPAttachments :: Ptr VkPipelineColorBlendAttachmentState - , vkBlendConstants :: Vec (ToPeano 4) CFloat + , vkBlendConstants :: Vector 4 CFloat } deriving (Eq) @@ -733,6 +959,23 @@ newtype VkVertexInputRate = VkVertexInputRate Int32 deriving (Eq, Storable) +instance Show VkVertexInputRate where+ showsPrec _ VK_VERTEX_INPUT_RATE_VERTEX = showString "VK_VERTEX_INPUT_RATE_VERTEX"+ showsPrec _ VK_VERTEX_INPUT_RATE_INSTANCE = showString "VK_VERTEX_INPUT_RATE_INSTANCE"+ showsPrec p (VkVertexInputRate x) = showParen (p >= 11) (showString "VkVertexInputRate " . showsPrec 11 x)++instance Read VkVertexInputRate where+ readPrec = parens ( choose [ ("VK_VERTEX_INPUT_RATE_VERTEX", pure VK_VERTEX_INPUT_RATE_VERTEX)+ , ("VK_VERTEX_INPUT_RATE_INSTANCE", pure VK_VERTEX_INPUT_RATE_INSTANCE)+ ] ++++ prec 10 (do+ expectP (Ident "VkVertexInputRate")+ v <- step readPrec+ pure (VkVertexInputRate v)+ )+ )++ pattern VK_VERTEX_INPUT_RATE_VERTEX = VkVertexInputRate 0 pattern VK_VERTEX_INPUT_RATE_INSTANCE = VkVertexInputRate 1@@ -817,6 +1060,57 @@ newtype VkBlendFactor = VkBlendFactor Int32 deriving (Eq, Storable)++instance Show VkBlendFactor where+ showsPrec _ VK_BLEND_FACTOR_ZERO = showString "VK_BLEND_FACTOR_ZERO"+ showsPrec _ VK_BLEND_FACTOR_ONE = showString "VK_BLEND_FACTOR_ONE"+ showsPrec _ VK_BLEND_FACTOR_SRC_COLOR = showString "VK_BLEND_FACTOR_SRC_COLOR"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR"+ showsPrec _ VK_BLEND_FACTOR_DST_COLOR = showString "VK_BLEND_FACTOR_DST_COLOR"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = showString "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR"+ showsPrec _ VK_BLEND_FACTOR_SRC_ALPHA = showString "VK_BLEND_FACTOR_SRC_ALPHA"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA"+ showsPrec _ VK_BLEND_FACTOR_DST_ALPHA = showString "VK_BLEND_FACTOR_DST_ALPHA"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = showString "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA"+ showsPrec _ VK_BLEND_FACTOR_CONSTANT_COLOR = showString "VK_BLEND_FACTOR_CONSTANT_COLOR"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = showString "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR"+ showsPrec _ VK_BLEND_FACTOR_CONSTANT_ALPHA = showString "VK_BLEND_FACTOR_CONSTANT_ALPHA"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = showString "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA"+ showsPrec _ VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = showString "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE"+ showsPrec _ VK_BLEND_FACTOR_SRC1_COLOR = showString "VK_BLEND_FACTOR_SRC1_COLOR"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR"+ showsPrec _ VK_BLEND_FACTOR_SRC1_ALPHA = showString "VK_BLEND_FACTOR_SRC1_ALPHA"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA"+ showsPrec p (VkBlendFactor x) = showParen (p >= 11) (showString "VkBlendFactor " . showsPrec 11 x)++instance Read VkBlendFactor where+ readPrec = parens ( choose [ ("VK_BLEND_FACTOR_ZERO", pure VK_BLEND_FACTOR_ZERO)+ , ("VK_BLEND_FACTOR_ONE", pure VK_BLEND_FACTOR_ONE)+ , ("VK_BLEND_FACTOR_SRC_COLOR", pure VK_BLEND_FACTOR_SRC_COLOR)+ , ("VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR", pure VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR)+ , ("VK_BLEND_FACTOR_DST_COLOR", pure VK_BLEND_FACTOR_DST_COLOR)+ , ("VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR", pure VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR)+ , ("VK_BLEND_FACTOR_SRC_ALPHA", pure VK_BLEND_FACTOR_SRC_ALPHA)+ , ("VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA", pure VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA)+ , ("VK_BLEND_FACTOR_DST_ALPHA", pure VK_BLEND_FACTOR_DST_ALPHA)+ , ("VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA", pure VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA)+ , ("VK_BLEND_FACTOR_CONSTANT_COLOR", pure VK_BLEND_FACTOR_CONSTANT_COLOR)+ , ("VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR", pure VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR)+ , ("VK_BLEND_FACTOR_CONSTANT_ALPHA", pure VK_BLEND_FACTOR_CONSTANT_ALPHA)+ , ("VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA", pure VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA)+ , ("VK_BLEND_FACTOR_SRC_ALPHA_SATURATE", pure VK_BLEND_FACTOR_SRC_ALPHA_SATURATE)+ , ("VK_BLEND_FACTOR_SRC1_COLOR", pure VK_BLEND_FACTOR_SRC1_COLOR)+ , ("VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR", pure VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR)+ , ("VK_BLEND_FACTOR_SRC1_ALPHA", pure VK_BLEND_FACTOR_SRC1_ALPHA)+ , ("VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA", pure VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA)+ ] ++++ prec 10 (do+ expectP (Ident "VkBlendFactor")+ v <- step readPrec+ pure (VkBlendFactor v)+ )+ )+ pattern VK_BLEND_FACTOR_ZERO = VkBlendFactor 0
src/Graphics/Vulkan/Query.hs view
@@ -5,6 +5,11 @@ module Graphics.Vulkan.Query where import Graphics.Vulkan.Device( VkDevice(..) )+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -29,6 +34,13 @@ , PFN_vkFreeFunction , PFN_vkInternalFreeNotification )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Core( VkResult(..) , VkDeviceSize(..) , VkFlags(..)@@ -98,6 +110,25 @@ newtype VkQueryType = VkQueryType Int32 deriving (Eq, Storable)++instance Show VkQueryType where+ showsPrec _ VK_QUERY_TYPE_OCCLUSION = showString "VK_QUERY_TYPE_OCCLUSION"+ showsPrec _ VK_QUERY_TYPE_PIPELINE_STATISTICS = showString "VK_QUERY_TYPE_PIPELINE_STATISTICS"+ showsPrec _ VK_QUERY_TYPE_TIMESTAMP = showString "VK_QUERY_TYPE_TIMESTAMP"+ showsPrec p (VkQueryType x) = showParen (p >= 11) (showString "VkQueryType " . showsPrec 11 x)++instance Read VkQueryType where+ readPrec = parens ( choose [ ("VK_QUERY_TYPE_OCCLUSION", pure VK_QUERY_TYPE_OCCLUSION)+ , ("VK_QUERY_TYPE_PIPELINE_STATISTICS", pure VK_QUERY_TYPE_PIPELINE_STATISTICS)+ , ("VK_QUERY_TYPE_TIMESTAMP", pure VK_QUERY_TYPE_TIMESTAMP)+ ] ++++ prec 10 (do+ expectP (Ident "VkQueryType")+ v <- step readPrec+ pure (VkQueryType v)+ )+ )+ pattern VK_QUERY_TYPE_OCCLUSION = VkQueryType 0 -- | Optional
src/Graphics/Vulkan/Sampler.hs view
@@ -5,6 +5,11 @@ module Graphics.Vulkan.Sampler where import Graphics.Vulkan.Device( VkDevice(..) )+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -29,6 +34,13 @@ , PFN_vkFreeFunction , PFN_vkInternalFreeNotification )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Core( VkResult(..) , VkBool32(..) , VkFlags(..)@@ -43,6 +55,29 @@ newtype VkSamplerAddressMode = VkSamplerAddressMode Int32 deriving (Eq, Storable) +instance Show VkSamplerAddressMode where+ showsPrec _ VK_SAMPLER_ADDRESS_MODE_REPEAT = showString "VK_SAMPLER_ADDRESS_MODE_REPEAT"+ showsPrec _ VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = showString "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT"+ showsPrec _ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = showString "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE"+ showsPrec _ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = showString "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER"+ showsPrec _ VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = showString "VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE"+ showsPrec p (VkSamplerAddressMode x) = showParen (p >= 11) (showString "VkSamplerAddressMode " . showsPrec 11 x)++instance Read VkSamplerAddressMode where+ readPrec = parens ( choose [ ("VK_SAMPLER_ADDRESS_MODE_REPEAT", pure VK_SAMPLER_ADDRESS_MODE_REPEAT)+ , ("VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT", pure VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT)+ , ("VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE", pure VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE)+ , ("VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER", pure VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER)+ , ("VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE", pure VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE)+ ] ++++ prec 10 (do+ expectP (Ident "VkSamplerAddressMode")+ v <- step readPrec+ pure (VkSamplerAddressMode v)+ )+ )++ pattern VK_SAMPLER_ADDRESS_MODE_REPEAT = VkSamplerAddressMode 0 pattern VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = VkSamplerAddressMode 1@@ -58,6 +93,23 @@ newtype VkFilter = VkFilter Int32 deriving (Eq, Storable) +instance Show VkFilter where+ showsPrec _ VK_FILTER_NEAREST = showString "VK_FILTER_NEAREST"+ showsPrec _ VK_FILTER_LINEAR = showString "VK_FILTER_LINEAR"+ showsPrec p (VkFilter x) = showParen (p >= 11) (showString "VkFilter " . showsPrec 11 x)++instance Read VkFilter where+ readPrec = parens ( choose [ ("VK_FILTER_NEAREST", pure VK_FILTER_NEAREST)+ , ("VK_FILTER_LINEAR", pure VK_FILTER_LINEAR)+ ] ++++ prec 10 (do+ expectP (Ident "VkFilter")+ v <- step readPrec+ pure (VkFilter v)+ )+ )++ pattern VK_FILTER_NEAREST = VkFilter 0 pattern VK_FILTER_LINEAR = VkFilter 1@@ -67,6 +119,31 @@ newtype VkBorderColor = VkBorderColor Int32 deriving (Eq, Storable) +instance Show VkBorderColor where+ showsPrec _ VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = showString "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK"+ showsPrec _ VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = showString "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK"+ showsPrec _ VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = showString "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK"+ showsPrec _ VK_BORDER_COLOR_INT_OPAQUE_BLACK = showString "VK_BORDER_COLOR_INT_OPAQUE_BLACK"+ showsPrec _ VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = showString "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE"+ showsPrec _ VK_BORDER_COLOR_INT_OPAQUE_WHITE = showString "VK_BORDER_COLOR_INT_OPAQUE_WHITE"+ showsPrec p (VkBorderColor x) = showParen (p >= 11) (showString "VkBorderColor " . showsPrec 11 x)++instance Read VkBorderColor where+ readPrec = parens ( choose [ ("VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK", pure VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK)+ , ("VK_BORDER_COLOR_INT_TRANSPARENT_BLACK", pure VK_BORDER_COLOR_INT_TRANSPARENT_BLACK)+ , ("VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK", pure VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK)+ , ("VK_BORDER_COLOR_INT_OPAQUE_BLACK", pure VK_BORDER_COLOR_INT_OPAQUE_BLACK)+ , ("VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE", pure VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE)+ , ("VK_BORDER_COLOR_INT_OPAQUE_WHITE", pure VK_BORDER_COLOR_INT_OPAQUE_WHITE)+ ] ++++ prec 10 (do+ expectP (Ident "VkBorderColor")+ v <- step readPrec+ pure (VkBorderColor v)+ )+ )++ pattern VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = VkBorderColor 0 pattern VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = VkBorderColor 1@@ -84,6 +161,35 @@ newtype VkCompareOp = VkCompareOp Int32 deriving (Eq, Storable) +instance Show VkCompareOp where+ showsPrec _ VK_COMPARE_OP_NEVER = showString "VK_COMPARE_OP_NEVER"+ showsPrec _ VK_COMPARE_OP_LESS = showString "VK_COMPARE_OP_LESS"+ showsPrec _ VK_COMPARE_OP_EQUAL = showString "VK_COMPARE_OP_EQUAL"+ showsPrec _ VK_COMPARE_OP_LESS_OR_EQUAL = showString "VK_COMPARE_OP_LESS_OR_EQUAL"+ showsPrec _ VK_COMPARE_OP_GREATER = showString "VK_COMPARE_OP_GREATER"+ showsPrec _ VK_COMPARE_OP_NOT_EQUAL = showString "VK_COMPARE_OP_NOT_EQUAL"+ showsPrec _ VK_COMPARE_OP_GREATER_OR_EQUAL = showString "VK_COMPARE_OP_GREATER_OR_EQUAL"+ showsPrec _ VK_COMPARE_OP_ALWAYS = showString "VK_COMPARE_OP_ALWAYS"+ showsPrec p (VkCompareOp x) = showParen (p >= 11) (showString "VkCompareOp " . showsPrec 11 x)++instance Read VkCompareOp where+ readPrec = parens ( choose [ ("VK_COMPARE_OP_NEVER", pure VK_COMPARE_OP_NEVER)+ , ("VK_COMPARE_OP_LESS", pure VK_COMPARE_OP_LESS)+ , ("VK_COMPARE_OP_EQUAL", pure VK_COMPARE_OP_EQUAL)+ , ("VK_COMPARE_OP_LESS_OR_EQUAL", pure VK_COMPARE_OP_LESS_OR_EQUAL)+ , ("VK_COMPARE_OP_GREATER", pure VK_COMPARE_OP_GREATER)+ , ("VK_COMPARE_OP_NOT_EQUAL", pure VK_COMPARE_OP_NOT_EQUAL)+ , ("VK_COMPARE_OP_GREATER_OR_EQUAL", pure VK_COMPARE_OP_GREATER_OR_EQUAL)+ , ("VK_COMPARE_OP_ALWAYS", pure VK_COMPARE_OP_ALWAYS)+ ] ++++ prec 10 (do+ expectP (Ident "VkCompareOp")+ v <- step readPrec+ pure (VkCompareOp v)+ )+ )++ pattern VK_COMPARE_OP_NEVER = VkCompareOp 0 pattern VK_COMPARE_OP_LESS = VkCompareOp 1@@ -176,6 +282,23 @@ newtype VkSamplerMipmapMode = VkSamplerMipmapMode Int32 deriving (Eq, Storable)++instance Show VkSamplerMipmapMode where+ showsPrec _ VK_SAMPLER_MIPMAP_MODE_NEAREST = showString "VK_SAMPLER_MIPMAP_MODE_NEAREST"+ showsPrec _ VK_SAMPLER_MIPMAP_MODE_LINEAR = showString "VK_SAMPLER_MIPMAP_MODE_LINEAR"+ showsPrec p (VkSamplerMipmapMode x) = showParen (p >= 11) (showString "VkSamplerMipmapMode " . showsPrec 11 x)++instance Read VkSamplerMipmapMode where+ readPrec = parens ( choose [ ("VK_SAMPLER_MIPMAP_MODE_NEAREST", pure VK_SAMPLER_MIPMAP_MODE_NEAREST)+ , ("VK_SAMPLER_MIPMAP_MODE_LINEAR", pure VK_SAMPLER_MIPMAP_MODE_LINEAR)+ ] ++++ prec 10 (do+ expectP (Ident "VkSamplerMipmapMode")+ v <- step readPrec+ pure (VkSamplerMipmapMode v)+ )+ )+ -- | Choose nearest mip level pattern VK_SAMPLER_MIPMAP_MODE_NEAREST = VkSamplerMipmapMode 0 -- | Linear filter between mip levels
vulkan.cabal view
@@ -1,5 +1,5 @@ name: vulkan-version: 1.0.0.0+version: 1.2.0.0 synopsis: Bindings to the Vulkan graphics API. description: Please see readme.md homepage: http://github.com/expipiplus1/vulkan#readme@@ -17,42 +17,41 @@ library hs-source-dirs: src exposed-modules: Graphics.Vulkan- Graphics.Vulkan.Buffer- Graphics.Vulkan.BufferView- Graphics.Vulkan.CommandBuffer- Graphics.Vulkan.CommandBufferBuilding- Graphics.Vulkan.CommandPool- Graphics.Vulkan.Constants- Graphics.Vulkan.Core- Graphics.Vulkan.DescriptorSet- Graphics.Vulkan.Device- Graphics.Vulkan.DeviceInitialization- Graphics.Vulkan.Event- Graphics.Vulkan.ExtensionDiscovery- Graphics.Vulkan.Fence- Graphics.Vulkan.HeaderBoilerplate- Graphics.Vulkan.Image- Graphics.Vulkan.ImageView- Graphics.Vulkan.KHR.Surface- Graphics.Vulkan.LayerDiscovery- Graphics.Vulkan.Memory- Graphics.Vulkan.MemoryManagement- Graphics.Vulkan.OtherTypes- Graphics.Vulkan.Pass- Graphics.Vulkan.Pipeline- Graphics.Vulkan.PipelineCache- Graphics.Vulkan.PipelineLayout- Graphics.Vulkan.Query- Graphics.Vulkan.Queue- Graphics.Vulkan.QueueSemaphore- Graphics.Vulkan.Sampler- Graphics.Vulkan.Shader- Graphics.Vulkan.SparseResourceMemoryManagement- Graphics.Vulkan.Version+ , Graphics.Vulkan.Buffer+ , Graphics.Vulkan.BufferView+ , Graphics.Vulkan.CommandBuffer+ , Graphics.Vulkan.CommandBufferBuilding+ , Graphics.Vulkan.CommandPool+ , Graphics.Vulkan.Constants+ , Graphics.Vulkan.Core+ , Graphics.Vulkan.DescriptorSet+ , Graphics.Vulkan.Device+ , Graphics.Vulkan.DeviceInitialization+ , Graphics.Vulkan.Event+ , Graphics.Vulkan.ExtensionDiscovery+ , Graphics.Vulkan.Fence+ , Graphics.Vulkan.HeaderBoilerplate+ , Graphics.Vulkan.Image+ , Graphics.Vulkan.ImageView+ , Graphics.Vulkan.KHR.Surface+ , Graphics.Vulkan.LayerDiscovery+ , Graphics.Vulkan.Memory+ , Graphics.Vulkan.MemoryManagement+ , Graphics.Vulkan.OtherTypes+ , Graphics.Vulkan.Pass+ , Graphics.Vulkan.Pipeline+ , Graphics.Vulkan.PipelineCache+ , Graphics.Vulkan.PipelineLayout+ , Graphics.Vulkan.Query+ , Graphics.Vulkan.Queue+ , Graphics.Vulkan.QueueSemaphore+ , Graphics.Vulkan.Sampler+ , Graphics.Vulkan.Shader+ , Graphics.Vulkan.SparseResourceMemoryManagement+ , Graphics.Vulkan.Version build-depends: base >= 4.9 && < 5- , fixed-vector >= 0.8 && < 0.9+ , vector-sized >= 0.1 && < 0.3 default-language: Haskell2010- ghc-options: -freduction-depth=0 source-repository head type: git