vulkan 1.2.0.0 → 1.3.0.0
raw patch · 16 files changed
+804/−2 lines, 16 files
Files
- changelog.md +4/−1
- src/Graphics/Vulkan/Buffer.hs +66/−0
- src/Graphics/Vulkan/CommandBuffer.hs +38/−0
- src/Graphics/Vulkan/CommandBufferBuilding.hs +20/−0
- src/Graphics/Vulkan/CommandPool.hs +48/−0
- src/Graphics/Vulkan/DescriptorSet.hs +17/−0
- src/Graphics/Vulkan/DeviceInitialization.hs +106/−0
- src/Graphics/Vulkan/Fence.hs +29/−0
- src/Graphics/Vulkan/Image.hs +79/−0
- src/Graphics/Vulkan/Pass.hs +83/−0
- src/Graphics/Vulkan/Pipeline.hs +115/−0
- src/Graphics/Vulkan/Query.hs +77/−0
- src/Graphics/Vulkan/Sampler.hs +29/−0
- src/Graphics/Vulkan/Shader.hs +42/−0
- src/Graphics/Vulkan/SparseResourceMemoryManagement.hs +50/−0
- vulkan.cabal +1/−1
changelog.md view
@@ -1,7 +1,10 @@ # Change Log +## [1.3.0.0] - 2016-02-29+Add Read and Show instances for bitmasks+ ## [1.2.0.0] - 2016-02-29-Add read and show instances for enumerations+Add Read and Show instances for enumerations ## [1.0.0.0] - 2016-02-25 Split the interface up into many modules.
src/Graphics/Vulkan/Buffer.hs view
@@ -5,6 +5,11 @@ module Graphics.Vulkan.Buffer where import Graphics.Vulkan.Device( VkDevice(..) )+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -27,6 +32,13 @@ , PFN_vkFreeFunction , PFN_vkInternalFreeNotification )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Core( VkResult(..) , VkDeviceSize(..) , VkFlags(..)@@ -45,8 +57,29 @@ newtype VkBufferCreateFlagBits = VkBufferCreateFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkBufferCreateFlagBits type VkBufferCreateFlags = VkBufferCreateFlagBits++instance Show VkBufferCreateFlagBits where+ showsPrec _ VK_BUFFER_CREATE_SPARSE_BINDING_BIT = showString "VK_BUFFER_CREATE_SPARSE_BINDING_BIT"+ showsPrec _ VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = showString "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT"+ showsPrec _ VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = showString "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT"+ + showsPrec p (VkBufferCreateFlagBits x) = showParen (p >= 11) (showString "VkBufferCreateFlagBits " . showsPrec 11 x)++instance Read VkBufferCreateFlagBits where+ readPrec = parens ( choose [ ("VK_BUFFER_CREATE_SPARSE_BINDING_BIT", pure VK_BUFFER_CREATE_SPARSE_BINDING_BIT)+ , ("VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT", pure VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT)+ , ("VK_BUFFER_CREATE_SPARSE_ALIASED_BIT", pure VK_BUFFER_CREATE_SPARSE_ALIASED_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkBufferCreateFlagBits")+ v <- step readPrec+ pure (VkBufferCreateFlagBits v)+ )+ )+ -- | Buffer should support sparse backing pattern VK_BUFFER_CREATE_SPARSE_BINDING_BIT = VkBufferCreateFlagBits 0x1 -- | Buffer should support sparse backing with partial residency@@ -59,8 +92,41 @@ newtype VkBufferUsageFlagBits = VkBufferUsageFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkBufferUsageFlagBits type VkBufferUsageFlags = VkBufferUsageFlagBits++instance Show VkBufferUsageFlagBits where+ showsPrec _ VK_BUFFER_USAGE_TRANSFER_SRC_BIT = showString "VK_BUFFER_USAGE_TRANSFER_SRC_BIT"+ showsPrec _ VK_BUFFER_USAGE_TRANSFER_DST_BIT = showString "VK_BUFFER_USAGE_TRANSFER_DST_BIT"+ showsPrec _ VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = showString "VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT"+ showsPrec _ VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = showString "VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT"+ showsPrec _ VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = showString "VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT"+ showsPrec _ VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = showString "VK_BUFFER_USAGE_STORAGE_BUFFER_BIT"+ showsPrec _ VK_BUFFER_USAGE_INDEX_BUFFER_BIT = showString "VK_BUFFER_USAGE_INDEX_BUFFER_BIT"+ showsPrec _ VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = showString "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT"+ showsPrec _ VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = showString "VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT"+ + showsPrec p (VkBufferUsageFlagBits x) = showParen (p >= 11) (showString "VkBufferUsageFlagBits " . showsPrec 11 x)++instance Read VkBufferUsageFlagBits where+ readPrec = parens ( choose [ ("VK_BUFFER_USAGE_TRANSFER_SRC_BIT", pure VK_BUFFER_USAGE_TRANSFER_SRC_BIT)+ , ("VK_BUFFER_USAGE_TRANSFER_DST_BIT", pure VK_BUFFER_USAGE_TRANSFER_DST_BIT)+ , ("VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT", pure VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT)+ , ("VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT", pure VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT)+ , ("VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT", pure VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT)+ , ("VK_BUFFER_USAGE_STORAGE_BUFFER_BIT", pure VK_BUFFER_USAGE_STORAGE_BUFFER_BIT)+ , ("VK_BUFFER_USAGE_INDEX_BUFFER_BIT", pure VK_BUFFER_USAGE_INDEX_BUFFER_BIT)+ , ("VK_BUFFER_USAGE_VERTEX_BUFFER_BIT", pure VK_BUFFER_USAGE_VERTEX_BUFFER_BIT)+ , ("VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT", pure VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkBufferUsageFlagBits")+ v <- step readPrec+ pure (VkBufferUsageFlagBits v)+ )+ )+ -- | Can be used as a source of transfer operations pattern VK_BUFFER_USAGE_TRANSFER_SRC_BIT = VkBufferUsageFlagBits 0x1 -- | Can be used as a destination of transfer operations
src/Graphics/Vulkan/CommandBuffer.hs view
@@ -91,9 +91,30 @@ newtype VkCommandBufferUsageFlagBits = VkCommandBufferUsageFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkCommandBufferUsageFlagBits type VkCommandBufferUsageFlags = VkCommandBufferUsageFlagBits +instance Show VkCommandBufferUsageFlagBits where+ showsPrec _ VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = showString "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT"+ showsPrec _ VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = showString "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT"+ showsPrec _ VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = showString "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT"+ + showsPrec p (VkCommandBufferUsageFlagBits x) = showParen (p >= 11) (showString "VkCommandBufferUsageFlagBits " . showsPrec 11 x)++instance Read VkCommandBufferUsageFlagBits where+ readPrec = parens ( choose [ ("VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT", pure VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT)+ , ("VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT", pure VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT)+ , ("VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT", pure VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkCommandBufferUsageFlagBits")+ v <- step readPrec+ pure (VkCommandBufferUsageFlagBits v)+ )+ )++ pattern VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = VkCommandBufferUsageFlagBits 0x1 pattern VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = VkCommandBufferUsageFlagBits 0x2@@ -164,8 +185,25 @@ newtype VkCommandBufferResetFlagBits = VkCommandBufferResetFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkCommandBufferResetFlagBits type VkCommandBufferResetFlags = VkCommandBufferResetFlagBits++instance Show VkCommandBufferResetFlagBits where+ showsPrec _ VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = showString "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT"+ + showsPrec p (VkCommandBufferResetFlagBits x) = showParen (p >= 11) (showString "VkCommandBufferResetFlagBits " . showsPrec 11 x)++instance Read VkCommandBufferResetFlagBits where+ readPrec = parens ( choose [ ("VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT", pure VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkCommandBufferResetFlagBits")+ v <- step readPrec+ pure (VkCommandBufferResetFlagBits v)+ )+ )+ -- | Release resources owned by the buffer pattern VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = VkCommandBufferResetFlagBits 0x1
src/Graphics/Vulkan/CommandBufferBuilding.hs view
@@ -518,8 +518,28 @@ newtype VkStencilFaceFlagBits = VkStencilFaceFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkStencilFaceFlagBits type VkStencilFaceFlags = VkStencilFaceFlagBits++instance Show VkStencilFaceFlagBits where+ showsPrec _ VK_STENCIL_FACE_FRONT_BIT = showString "VK_STENCIL_FACE_FRONT_BIT"+ showsPrec _ VK_STENCIL_FACE_BACK_BIT = showString "VK_STENCIL_FACE_BACK_BIT"+ showsPrec _ VK_STENCIL_FRONT_AND_BACK = showString "VK_STENCIL_FRONT_AND_BACK"+ showsPrec p (VkStencilFaceFlagBits x) = showParen (p >= 11) (showString "VkStencilFaceFlagBits " . showsPrec 11 x)++instance Read VkStencilFaceFlagBits where+ readPrec = parens ( choose [ ("VK_STENCIL_FACE_FRONT_BIT", pure VK_STENCIL_FACE_FRONT_BIT)+ , ("VK_STENCIL_FACE_BACK_BIT", pure VK_STENCIL_FACE_BACK_BIT)+ , ("VK_STENCIL_FRONT_AND_BACK", pure VK_STENCIL_FRONT_AND_BACK)+ ] ++++ prec 10 (do+ expectP (Ident "VkStencilFaceFlagBits")+ v <- step readPrec+ pure (VkStencilFaceFlagBits v)+ )+ )+ -- | Front face pattern VK_STENCIL_FACE_FRONT_BIT = VkStencilFaceFlagBits 0x1 -- | Back face
src/Graphics/Vulkan/CommandPool.hs view
@@ -5,6 +5,11 @@ module Graphics.Vulkan.CommandPool where import Graphics.Vulkan.Device( VkDevice(..) )+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -27,6 +32,13 @@ , PFN_vkFreeFunction , PFN_vkInternalFreeNotification )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Core( VkResult(..) , VkFlags(..) , VkStructureType(..)@@ -67,8 +79,27 @@ newtype VkCommandPoolCreateFlagBits = VkCommandPoolCreateFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkCommandPoolCreateFlagBits type VkCommandPoolCreateFlags = VkCommandPoolCreateFlagBits++instance Show VkCommandPoolCreateFlagBits where+ showsPrec _ VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = showString "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT"+ showsPrec _ VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = showString "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT"+ + showsPrec p (VkCommandPoolCreateFlagBits x) = showParen (p >= 11) (showString "VkCommandPoolCreateFlagBits " . showsPrec 11 x)++instance Read VkCommandPoolCreateFlagBits where+ readPrec = parens ( choose [ ("VK_COMMAND_POOL_CREATE_TRANSIENT_BIT", pure VK_COMMAND_POOL_CREATE_TRANSIENT_BIT)+ , ("VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT", pure VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkCommandPoolCreateFlagBits")+ v <- step readPrec+ pure (VkCommandPoolCreateFlagBits v)+ )+ )+ -- | Command buffers have a short lifetime pattern VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = VkCommandPoolCreateFlagBits 0x1 -- | Command buffers may release their memory individually@@ -85,8 +116,25 @@ newtype VkCommandPoolResetFlagBits = VkCommandPoolResetFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkCommandPoolResetFlagBits type VkCommandPoolResetFlags = VkCommandPoolResetFlagBits++instance Show VkCommandPoolResetFlagBits where+ showsPrec _ VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = showString "VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT"+ + showsPrec p (VkCommandPoolResetFlagBits x) = showParen (p >= 11) (showString "VkCommandPoolResetFlagBits " . showsPrec 11 x)++instance Read VkCommandPoolResetFlagBits where+ readPrec = parens ( choose [ ("VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT", pure VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkCommandPoolResetFlagBits")+ v <- step readPrec+ pure (VkCommandPoolResetFlagBits v)+ )+ )+ -- | Release resources owned by the pool pattern VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = VkCommandPoolResetFlagBits 0x1
src/Graphics/Vulkan/DescriptorSet.hs view
@@ -243,8 +243,25 @@ newtype VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkDescriptorPoolCreateFlagBits type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateFlagBits++instance Show VkDescriptorPoolCreateFlagBits where+ showsPrec _ VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = showString "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT"+ + showsPrec p (VkDescriptorPoolCreateFlagBits x) = showParen (p >= 11) (showString "VkDescriptorPoolCreateFlagBits " . showsPrec 11 x)++instance Read VkDescriptorPoolCreateFlagBits where+ readPrec = parens ( choose [ ("VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT", pure VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkDescriptorPoolCreateFlagBits")+ v <- step readPrec+ pure (VkDescriptorPoolCreateFlagBits v)+ )+ )+ -- | Descriptor sets may be freed individually pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = VkDescriptorPoolCreateFlagBits 0x1
src/Graphics/Vulkan/DeviceInitialization.hs view
@@ -552,8 +552,49 @@ newtype VkFormatFeatureFlagBits = VkFormatFeatureFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkFormatFeatureFlagBits type VkFormatFeatureFlags = VkFormatFeatureFlagBits++instance Show VkFormatFeatureFlagBits where+ showsPrec _ VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = showString "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"+ showsPrec _ VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = showString "VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT"+ showsPrec _ VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = showString "VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT"+ showsPrec _ VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = showString "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT"+ showsPrec _ VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = showString "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT"+ showsPrec _ VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = showString "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT"+ showsPrec _ VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = showString "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT"+ showsPrec _ VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = showString "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT"+ showsPrec _ VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = showString "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT"+ showsPrec _ VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = showString "VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT"+ showsPrec _ VK_FORMAT_FEATURE_BLIT_SRC_BIT = showString "VK_FORMAT_FEATURE_BLIT_SRC_BIT"+ showsPrec _ VK_FORMAT_FEATURE_BLIT_DST_BIT = showString "VK_FORMAT_FEATURE_BLIT_DST_BIT"+ showsPrec _ VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = showString "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT"+ + showsPrec p (VkFormatFeatureFlagBits x) = showParen (p >= 11) (showString "VkFormatFeatureFlagBits " . showsPrec 11 x)++instance Read VkFormatFeatureFlagBits where+ readPrec = parens ( choose [ ("VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT", pure VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT)+ , ("VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT", pure VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT)+ , ("VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", pure VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT)+ , ("VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT", pure VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT)+ , ("VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT", pure VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT)+ , ("VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT", pure VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT)+ , ("VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT", pure VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT)+ , ("VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT", pure VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT)+ , ("VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT", pure VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT)+ , ("VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT", pure VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT)+ , ("VK_FORMAT_FEATURE_BLIT_SRC_BIT", pure VK_FORMAT_FEATURE_BLIT_SRC_BIT)+ , ("VK_FORMAT_FEATURE_BLIT_DST_BIT", pure VK_FORMAT_FEATURE_BLIT_DST_BIT)+ , ("VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", pure VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkFormatFeatureFlagBits")+ v <- step readPrec+ pure (VkFormatFeatureFlagBits v)+ )+ )+ -- | Format can be used for sampled images (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types) pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = VkFormatFeatureFlagBits 0x1 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type)@@ -611,8 +652,25 @@ newtype VkMemoryHeapFlagBits = VkMemoryHeapFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkMemoryHeapFlagBits type VkMemoryHeapFlags = VkMemoryHeapFlagBits++instance Show VkMemoryHeapFlagBits where+ showsPrec _ VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = showString "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT"+ + showsPrec p (VkMemoryHeapFlagBits x) = showParen (p >= 11) (showString "VkMemoryHeapFlagBits " . showsPrec 11 x)++instance Read VkMemoryHeapFlagBits where+ readPrec = parens ( choose [ ("VK_MEMORY_HEAP_DEVICE_LOCAL_BIT", pure VK_MEMORY_HEAP_DEVICE_LOCAL_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkMemoryHeapFlagBits")+ v <- step readPrec+ pure (VkMemoryHeapFlagBits v)+ )+ )+ -- | If set, heap represents device memory pattern VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = VkMemoryHeapFlagBits 0x1 @@ -763,8 +821,33 @@ newtype VkMemoryPropertyFlagBits = VkMemoryPropertyFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkMemoryPropertyFlagBits type VkMemoryPropertyFlags = VkMemoryPropertyFlagBits++instance Show VkMemoryPropertyFlagBits where+ showsPrec _ VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = showString "VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT"+ showsPrec _ VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = showString "VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT"+ showsPrec _ VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = showString "VK_MEMORY_PROPERTY_HOST_COHERENT_BIT"+ showsPrec _ VK_MEMORY_PROPERTY_HOST_CACHED_BIT = showString "VK_MEMORY_PROPERTY_HOST_CACHED_BIT"+ showsPrec _ VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = showString "VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT"+ + showsPrec p (VkMemoryPropertyFlagBits x) = showParen (p >= 11) (showString "VkMemoryPropertyFlagBits " . showsPrec 11 x)++instance Read VkMemoryPropertyFlagBits where+ readPrec = parens ( choose [ ("VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT", pure VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT)+ , ("VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT", pure VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT)+ , ("VK_MEMORY_PROPERTY_HOST_COHERENT_BIT", pure VK_MEMORY_PROPERTY_HOST_COHERENT_BIT)+ , ("VK_MEMORY_PROPERTY_HOST_CACHED_BIT", pure VK_MEMORY_PROPERTY_HOST_CACHED_BIT)+ , ("VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT", pure VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkMemoryPropertyFlagBits")+ v <- step readPrec+ pure (VkMemoryPropertyFlagBits v)+ )+ )+ -- | If otherwise stated, then allocate memory on device pattern VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = VkMemoryPropertyFlagBits 0x1 -- | Memory is mappable by host@@ -785,8 +868,31 @@ newtype VkQueueFlagBits = VkQueueFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkQueueFlagBits type VkQueueFlags = VkQueueFlagBits++instance Show VkQueueFlagBits where+ showsPrec _ VK_QUEUE_GRAPHICS_BIT = showString "VK_QUEUE_GRAPHICS_BIT"+ showsPrec _ VK_QUEUE_COMPUTE_BIT = showString "VK_QUEUE_COMPUTE_BIT"+ showsPrec _ VK_QUEUE_TRANSFER_BIT = showString "VK_QUEUE_TRANSFER_BIT"+ showsPrec _ VK_QUEUE_SPARSE_BINDING_BIT = showString "VK_QUEUE_SPARSE_BINDING_BIT"+ + showsPrec p (VkQueueFlagBits x) = showParen (p >= 11) (showString "VkQueueFlagBits " . showsPrec 11 x)++instance Read VkQueueFlagBits where+ readPrec = parens ( choose [ ("VK_QUEUE_GRAPHICS_BIT", pure VK_QUEUE_GRAPHICS_BIT)+ , ("VK_QUEUE_COMPUTE_BIT", pure VK_QUEUE_COMPUTE_BIT)+ , ("VK_QUEUE_TRANSFER_BIT", pure VK_QUEUE_TRANSFER_BIT)+ , ("VK_QUEUE_SPARSE_BINDING_BIT", pure VK_QUEUE_SPARSE_BINDING_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkQueueFlagBits")+ v <- step readPrec+ pure (VkQueueFlagBits v)+ )+ )+ -- | Queue supports graphics operations pattern VK_QUEUE_GRAPHICS_BIT = VkQueueFlagBits 0x1 -- | Queue supports compute operations
src/Graphics/Vulkan/Fence.hs view
@@ -5,6 +5,11 @@ module Graphics.Vulkan.Fence where import Graphics.Vulkan.Device( VkDevice(..) )+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -27,6 +32,13 @@ , PFN_vkFreeFunction , PFN_vkInternalFreeNotification )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Core( VkResult(..) , VkBool32(..) , VkFlags(..)@@ -74,8 +86,25 @@ newtype VkFenceCreateFlagBits = VkFenceCreateFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkFenceCreateFlagBits type VkFenceCreateFlags = VkFenceCreateFlagBits++instance Show VkFenceCreateFlagBits where+ showsPrec _ VK_FENCE_CREATE_SIGNALED_BIT = showString "VK_FENCE_CREATE_SIGNALED_BIT"+ + showsPrec p (VkFenceCreateFlagBits x) = showParen (p >= 11) (showString "VkFenceCreateFlagBits " . showsPrec 11 x)++instance Read VkFenceCreateFlagBits where+ readPrec = parens ( choose [ ("VK_FENCE_CREATE_SIGNALED_BIT", pure VK_FENCE_CREATE_SIGNALED_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkFenceCreateFlagBits")+ v <- step readPrec+ pure (VkFenceCreateFlagBits v)+ )+ )+ pattern VK_FENCE_CREATE_SIGNALED_BIT = VkFenceCreateFlagBits 0x1
src/Graphics/Vulkan/Image.hs view
@@ -63,8 +63,33 @@ newtype VkImageCreateFlagBits = VkImageCreateFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkImageCreateFlagBits type VkImageCreateFlags = VkImageCreateFlagBits++instance Show VkImageCreateFlagBits where+ showsPrec _ VK_IMAGE_CREATE_SPARSE_BINDING_BIT = showString "VK_IMAGE_CREATE_SPARSE_BINDING_BIT"+ showsPrec _ VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = showString "VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT"+ showsPrec _ VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = showString "VK_IMAGE_CREATE_SPARSE_ALIASED_BIT"+ showsPrec _ VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = showString "VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT"+ showsPrec _ VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = showString "VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT"+ + showsPrec p (VkImageCreateFlagBits x) = showParen (p >= 11) (showString "VkImageCreateFlagBits " . showsPrec 11 x)++instance Read VkImageCreateFlagBits where+ readPrec = parens ( choose [ ("VK_IMAGE_CREATE_SPARSE_BINDING_BIT", pure VK_IMAGE_CREATE_SPARSE_BINDING_BIT)+ , ("VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT", pure VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT)+ , ("VK_IMAGE_CREATE_SPARSE_ALIASED_BIT", pure VK_IMAGE_CREATE_SPARSE_ALIASED_BIT)+ , ("VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT", pure VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT)+ , ("VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT", pure VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkImageCreateFlagBits")+ v <- step readPrec+ pure (VkImageCreateFlagBits v)+ )+ )+ -- | Image should support sparse backing pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT = VkImageCreateFlagBits 0x1 -- | Image should support sparse backing with partial residency@@ -81,8 +106,39 @@ newtype VkImageUsageFlagBits = VkImageUsageFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkImageUsageFlagBits type VkImageUsageFlags = VkImageUsageFlagBits++instance Show VkImageUsageFlagBits where+ showsPrec _ VK_IMAGE_USAGE_TRANSFER_SRC_BIT = showString "VK_IMAGE_USAGE_TRANSFER_SRC_BIT"+ showsPrec _ VK_IMAGE_USAGE_TRANSFER_DST_BIT = showString "VK_IMAGE_USAGE_TRANSFER_DST_BIT"+ showsPrec _ VK_IMAGE_USAGE_SAMPLED_BIT = showString "VK_IMAGE_USAGE_SAMPLED_BIT"+ showsPrec _ VK_IMAGE_USAGE_STORAGE_BIT = showString "VK_IMAGE_USAGE_STORAGE_BIT"+ showsPrec _ VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = showString "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT"+ showsPrec _ VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = showString "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT"+ showsPrec _ VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = showString "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT"+ showsPrec _ VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = showString "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT"+ + showsPrec p (VkImageUsageFlagBits x) = showParen (p >= 11) (showString "VkImageUsageFlagBits " . showsPrec 11 x)++instance Read VkImageUsageFlagBits where+ readPrec = parens ( choose [ ("VK_IMAGE_USAGE_TRANSFER_SRC_BIT", pure VK_IMAGE_USAGE_TRANSFER_SRC_BIT)+ , ("VK_IMAGE_USAGE_TRANSFER_DST_BIT", pure VK_IMAGE_USAGE_TRANSFER_DST_BIT)+ , ("VK_IMAGE_USAGE_SAMPLED_BIT", pure VK_IMAGE_USAGE_SAMPLED_BIT)+ , ("VK_IMAGE_USAGE_STORAGE_BIT", pure VK_IMAGE_USAGE_STORAGE_BIT)+ , ("VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT", pure VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT)+ , ("VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT", pure VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT)+ , ("VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT", pure VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT)+ , ("VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT", pure VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkImageUsageFlagBits")+ v <- step readPrec+ pure (VkImageUsageFlagBits v)+ )+ )+ -- | Can be used as a source of transfer operations pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT = VkImageUsageFlagBits 0x1 -- | Can be used as a destination of transfer operations@@ -108,8 +164,31 @@ newtype VkImageAspectFlagBits = VkImageAspectFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkImageAspectFlagBits type VkImageAspectFlags = VkImageAspectFlagBits++instance Show VkImageAspectFlagBits where+ showsPrec _ VK_IMAGE_ASPECT_COLOR_BIT = showString "VK_IMAGE_ASPECT_COLOR_BIT"+ showsPrec _ VK_IMAGE_ASPECT_DEPTH_BIT = showString "VK_IMAGE_ASPECT_DEPTH_BIT"+ showsPrec _ VK_IMAGE_ASPECT_STENCIL_BIT = showString "VK_IMAGE_ASPECT_STENCIL_BIT"+ showsPrec _ VK_IMAGE_ASPECT_METADATA_BIT = showString "VK_IMAGE_ASPECT_METADATA_BIT"+ + showsPrec p (VkImageAspectFlagBits x) = showParen (p >= 11) (showString "VkImageAspectFlagBits " . showsPrec 11 x)++instance Read VkImageAspectFlagBits where+ readPrec = parens ( choose [ ("VK_IMAGE_ASPECT_COLOR_BIT", pure VK_IMAGE_ASPECT_COLOR_BIT)+ , ("VK_IMAGE_ASPECT_DEPTH_BIT", pure VK_IMAGE_ASPECT_DEPTH_BIT)+ , ("VK_IMAGE_ASPECT_STENCIL_BIT", pure VK_IMAGE_ASPECT_STENCIL_BIT)+ , ("VK_IMAGE_ASPECT_METADATA_BIT", pure VK_IMAGE_ASPECT_METADATA_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkImageAspectFlagBits")+ v <- step readPrec+ pure (VkImageAspectFlagBits v)+ )+ )+ pattern VK_IMAGE_ASPECT_COLOR_BIT = VkImageAspectFlagBits 0x1
src/Graphics/Vulkan/Pass.hs view
@@ -102,8 +102,25 @@ newtype VkAttachmentDescriptionFlagBits = VkAttachmentDescriptionFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkAttachmentDescriptionFlagBits type VkAttachmentDescriptionFlags = VkAttachmentDescriptionFlagBits++instance Show VkAttachmentDescriptionFlagBits where+ showsPrec _ VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = showString "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT"+ + showsPrec p (VkAttachmentDescriptionFlagBits x) = showParen (p >= 11) (showString "VkAttachmentDescriptionFlagBits " . showsPrec 11 x)++instance Read VkAttachmentDescriptionFlagBits where+ readPrec = parens ( choose [ ("VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT", pure VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkAttachmentDescriptionFlagBits")+ v <- step readPrec+ pure (VkAttachmentDescriptionFlagBits v)+ )+ )+ -- | The attachment may alias physical memory of another attachment in the same render pass pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = VkAttachmentDescriptionFlagBits 0x1 @@ -112,8 +129,25 @@ newtype VkDependencyFlagBits = VkDependencyFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkDependencyFlagBits type VkDependencyFlags = VkDependencyFlagBits++instance Show VkDependencyFlagBits where+ showsPrec _ VK_DEPENDENCY_BY_REGION_BIT = showString "VK_DEPENDENCY_BY_REGION_BIT"+ + showsPrec p (VkDependencyFlagBits x) = showParen (p >= 11) (showString "VkDependencyFlagBits " . showsPrec 11 x)++instance Read VkDependencyFlagBits where+ readPrec = parens ( choose [ ("VK_DEPENDENCY_BY_REGION_BIT", pure VK_DEPENDENCY_BY_REGION_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkDependencyFlagBits")+ v <- step readPrec+ pure (VkDependencyFlagBits v)+ )+ )+ -- | Dependency is per pixel region pattern VK_DEPENDENCY_BY_REGION_BIT = VkDependencyFlagBits 0x1 @@ -229,8 +263,57 @@ newtype VkAccessFlagBits = VkAccessFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkAccessFlagBits type VkAccessFlags = VkAccessFlagBits++instance Show VkAccessFlagBits where+ showsPrec _ VK_ACCESS_INDIRECT_COMMAND_READ_BIT = showString "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"+ showsPrec _ VK_ACCESS_INDEX_READ_BIT = showString "VK_ACCESS_INDEX_READ_BIT"+ showsPrec _ VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = showString "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"+ showsPrec _ VK_ACCESS_UNIFORM_READ_BIT = showString "VK_ACCESS_UNIFORM_READ_BIT"+ showsPrec _ VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = showString "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"+ showsPrec _ VK_ACCESS_SHADER_READ_BIT = showString "VK_ACCESS_SHADER_READ_BIT"+ showsPrec _ VK_ACCESS_SHADER_WRITE_BIT = showString "VK_ACCESS_SHADER_WRITE_BIT"+ showsPrec _ VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = showString "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"+ showsPrec _ VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = showString "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"+ showsPrec _ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = showString "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"+ showsPrec _ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = showString "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"+ showsPrec _ VK_ACCESS_TRANSFER_READ_BIT = showString "VK_ACCESS_TRANSFER_READ_BIT"+ showsPrec _ VK_ACCESS_TRANSFER_WRITE_BIT = showString "VK_ACCESS_TRANSFER_WRITE_BIT"+ showsPrec _ VK_ACCESS_HOST_READ_BIT = showString "VK_ACCESS_HOST_READ_BIT"+ showsPrec _ VK_ACCESS_HOST_WRITE_BIT = showString "VK_ACCESS_HOST_WRITE_BIT"+ showsPrec _ VK_ACCESS_MEMORY_READ_BIT = showString "VK_ACCESS_MEMORY_READ_BIT"+ showsPrec _ VK_ACCESS_MEMORY_WRITE_BIT = showString "VK_ACCESS_MEMORY_WRITE_BIT"+ + showsPrec p (VkAccessFlagBits x) = showParen (p >= 11) (showString "VkAccessFlagBits " . showsPrec 11 x)++instance Read VkAccessFlagBits where+ readPrec = parens ( choose [ ("VK_ACCESS_INDIRECT_COMMAND_READ_BIT", pure VK_ACCESS_INDIRECT_COMMAND_READ_BIT)+ , ("VK_ACCESS_INDEX_READ_BIT", pure VK_ACCESS_INDEX_READ_BIT)+ , ("VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT", pure VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT)+ , ("VK_ACCESS_UNIFORM_READ_BIT", pure VK_ACCESS_UNIFORM_READ_BIT)+ , ("VK_ACCESS_INPUT_ATTACHMENT_READ_BIT", pure VK_ACCESS_INPUT_ATTACHMENT_READ_BIT)+ , ("VK_ACCESS_SHADER_READ_BIT", pure VK_ACCESS_SHADER_READ_BIT)+ , ("VK_ACCESS_SHADER_WRITE_BIT", pure VK_ACCESS_SHADER_WRITE_BIT)+ , ("VK_ACCESS_COLOR_ATTACHMENT_READ_BIT", pure VK_ACCESS_COLOR_ATTACHMENT_READ_BIT)+ , ("VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT", pure VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT)+ , ("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT", pure VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT)+ , ("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT", pure VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT)+ , ("VK_ACCESS_TRANSFER_READ_BIT", pure VK_ACCESS_TRANSFER_READ_BIT)+ , ("VK_ACCESS_TRANSFER_WRITE_BIT", pure VK_ACCESS_TRANSFER_WRITE_BIT)+ , ("VK_ACCESS_HOST_READ_BIT", pure VK_ACCESS_HOST_READ_BIT)+ , ("VK_ACCESS_HOST_WRITE_BIT", pure VK_ACCESS_HOST_WRITE_BIT)+ , ("VK_ACCESS_MEMORY_READ_BIT", pure VK_ACCESS_MEMORY_READ_BIT)+ , ("VK_ACCESS_MEMORY_WRITE_BIT", pure VK_ACCESS_MEMORY_WRITE_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkAccessFlagBits")+ v <- step readPrec+ pure (VkAccessFlagBits v)+ )+ )+ -- | Controls coherency of indirect command reads pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT = VkAccessFlagBits 0x1 -- | Controls coherency of index reads
src/Graphics/Vulkan/Pipeline.hs view
@@ -187,9 +187,31 @@ newtype VkCullModeFlagBits = VkCullModeFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkCullModeFlagBits type VkCullModeFlags = VkCullModeFlagBits +instance Show VkCullModeFlagBits where+ showsPrec _ VK_CULL_MODE_FRONT_BIT = showString "VK_CULL_MODE_FRONT_BIT"+ showsPrec _ VK_CULL_MODE_BACK_BIT = showString "VK_CULL_MODE_BACK_BIT"+ showsPrec _ VK_CULL_MODE_NONE = showString "VK_CULL_MODE_NONE"+ showsPrec _ VK_CULL_MODE_FRONT_AND_BACK = showString "VK_CULL_MODE_FRONT_AND_BACK"+ showsPrec p (VkCullModeFlagBits x) = showParen (p >= 11) (showString "VkCullModeFlagBits " . showsPrec 11 x)++instance Read VkCullModeFlagBits where+ readPrec = parens ( choose [ ("VK_CULL_MODE_FRONT_BIT", pure VK_CULL_MODE_FRONT_BIT)+ , ("VK_CULL_MODE_BACK_BIT", pure VK_CULL_MODE_BACK_BIT)+ , ("VK_CULL_MODE_NONE", pure VK_CULL_MODE_NONE)+ , ("VK_CULL_MODE_FRONT_AND_BACK", pure VK_CULL_MODE_FRONT_AND_BACK)+ ] ++++ prec 10 (do+ expectP (Ident "VkCullModeFlagBits")+ v <- step readPrec+ pure (VkCullModeFlagBits v)+ )+ )++ pattern VK_CULL_MODE_FRONT_BIT = VkCullModeFlagBits 0x1 pattern VK_CULL_MODE_BACK_BIT = VkCullModeFlagBits 0x2@@ -238,9 +260,32 @@ newtype VkColorComponentFlagBits = VkColorComponentFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkColorComponentFlagBits type VkColorComponentFlags = VkColorComponentFlagBits +instance Show VkColorComponentFlagBits where+ showsPrec _ VK_COLOR_COMPONENT_R_BIT = showString "VK_COLOR_COMPONENT_R_BIT"+ showsPrec _ VK_COLOR_COMPONENT_G_BIT = showString "VK_COLOR_COMPONENT_G_BIT"+ showsPrec _ VK_COLOR_COMPONENT_B_BIT = showString "VK_COLOR_COMPONENT_B_BIT"+ showsPrec _ VK_COLOR_COMPONENT_A_BIT = showString "VK_COLOR_COMPONENT_A_BIT"+ + showsPrec p (VkColorComponentFlagBits x) = showParen (p >= 11) (showString "VkColorComponentFlagBits " . showsPrec 11 x)++instance Read VkColorComponentFlagBits where+ readPrec = parens ( choose [ ("VK_COLOR_COMPONENT_R_BIT", pure VK_COLOR_COMPONENT_R_BIT)+ , ("VK_COLOR_COMPONENT_G_BIT", pure VK_COLOR_COMPONENT_G_BIT)+ , ("VK_COLOR_COMPONENT_B_BIT", pure VK_COLOR_COMPONENT_B_BIT)+ , ("VK_COLOR_COMPONENT_A_BIT", pure VK_COLOR_COMPONENT_A_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkColorComponentFlagBits")+ v <- step readPrec+ pure (VkColorComponentFlagBits v)+ )+ )++ pattern VK_COLOR_COMPONENT_R_BIT = VkColorComponentFlagBits 0x1 pattern VK_COLOR_COMPONENT_G_BIT = VkColorComponentFlagBits 0x2@@ -521,9 +566,30 @@ newtype VkPipelineCreateFlagBits = VkPipelineCreateFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkPipelineCreateFlagBits type VkPipelineCreateFlags = VkPipelineCreateFlagBits +instance Show VkPipelineCreateFlagBits where+ showsPrec _ VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = showString "VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT"+ showsPrec _ VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = showString "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"+ showsPrec _ VK_PIPELINE_CREATE_DERIVATIVE_BIT = showString "VK_PIPELINE_CREATE_DERIVATIVE_BIT"+ + showsPrec p (VkPipelineCreateFlagBits x) = showParen (p >= 11) (showString "VkPipelineCreateFlagBits " . showsPrec 11 x)++instance Read VkPipelineCreateFlagBits where+ readPrec = parens ( choose [ ("VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT", pure VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT)+ , ("VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT", pure VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT)+ , ("VK_PIPELINE_CREATE_DERIVATIVE_BIT", pure VK_PIPELINE_CREATE_DERIVATIVE_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkPipelineCreateFlagBits")+ v <- step readPrec+ pure (VkPipelineCreateFlagBits v)+ )+ )++ pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = VkPipelineCreateFlagBits 0x1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = VkPipelineCreateFlagBits 0x2@@ -984,8 +1050,57 @@ newtype VkPipelineStageFlagBits = VkPipelineStageFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkPipelineStageFlagBits type VkPipelineStageFlags = VkPipelineStageFlagBits++instance Show VkPipelineStageFlagBits where+ showsPrec _ VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = showString "VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT"+ showsPrec _ VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = showString "VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT"+ showsPrec _ VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = showString "VK_PIPELINE_STAGE_VERTEX_INPUT_BIT"+ showsPrec _ VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = showString "VK_PIPELINE_STAGE_VERTEX_SHADER_BIT"+ showsPrec _ VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = showString "VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT"+ showsPrec _ VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = showString "VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT"+ showsPrec _ VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = showString "VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT"+ showsPrec _ VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = showString "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT"+ showsPrec _ VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = showString "VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT"+ showsPrec _ VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = showString "VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT"+ showsPrec _ VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = showString "VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT"+ showsPrec _ VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = showString "VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT"+ showsPrec _ VK_PIPELINE_STAGE_TRANSFER_BIT = showString "VK_PIPELINE_STAGE_TRANSFER_BIT"+ showsPrec _ VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = showString "VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT"+ showsPrec _ VK_PIPELINE_STAGE_HOST_BIT = showString "VK_PIPELINE_STAGE_HOST_BIT"+ showsPrec _ VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = showString "VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT"+ showsPrec _ VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = showString "VK_PIPELINE_STAGE_ALL_COMMANDS_BIT"+ + showsPrec p (VkPipelineStageFlagBits x) = showParen (p >= 11) (showString "VkPipelineStageFlagBits " . showsPrec 11 x)++instance Read VkPipelineStageFlagBits where+ readPrec = parens ( choose [ ("VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT", pure VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT)+ , ("VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT", pure VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT)+ , ("VK_PIPELINE_STAGE_VERTEX_INPUT_BIT", pure VK_PIPELINE_STAGE_VERTEX_INPUT_BIT)+ , ("VK_PIPELINE_STAGE_VERTEX_SHADER_BIT", pure VK_PIPELINE_STAGE_VERTEX_SHADER_BIT)+ , ("VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT", pure VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT)+ , ("VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT", pure VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT)+ , ("VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT", pure VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT)+ , ("VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT", pure VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT)+ , ("VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT", pure VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT)+ , ("VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT", pure VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT)+ , ("VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT", pure VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT)+ , ("VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT", pure VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT)+ , ("VK_PIPELINE_STAGE_TRANSFER_BIT", pure VK_PIPELINE_STAGE_TRANSFER_BIT)+ , ("VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT", pure VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT)+ , ("VK_PIPELINE_STAGE_HOST_BIT", pure VK_PIPELINE_STAGE_HOST_BIT)+ , ("VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT", pure VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT)+ , ("VK_PIPELINE_STAGE_ALL_COMMANDS_BIT", pure VK_PIPELINE_STAGE_ALL_COMMANDS_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkPipelineStageFlagBits")+ v <- step readPrec+ pure (VkPipelineStageFlagBits v)+ )+ )+ -- | Before subsequent commands are processed pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = VkPipelineStageFlagBits 0x1 -- | Draw/DispatchIndirect command fetch
src/Graphics/Vulkan/Query.hs view
@@ -94,8 +94,31 @@ newtype VkQueryResultFlagBits = VkQueryResultFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkQueryResultFlagBits type VkQueryResultFlags = VkQueryResultFlagBits++instance Show VkQueryResultFlagBits where+ showsPrec _ VK_QUERY_RESULT_64_BIT = showString "VK_QUERY_RESULT_64_BIT"+ showsPrec _ VK_QUERY_RESULT_WAIT_BIT = showString "VK_QUERY_RESULT_WAIT_BIT"+ showsPrec _ VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = showString "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT"+ showsPrec _ VK_QUERY_RESULT_PARTIAL_BIT = showString "VK_QUERY_RESULT_PARTIAL_BIT"+ + showsPrec p (VkQueryResultFlagBits x) = showParen (p >= 11) (showString "VkQueryResultFlagBits " . showsPrec 11 x)++instance Read VkQueryResultFlagBits where+ readPrec = parens ( choose [ ("VK_QUERY_RESULT_64_BIT", pure VK_QUERY_RESULT_64_BIT)+ , ("VK_QUERY_RESULT_WAIT_BIT", pure VK_QUERY_RESULT_WAIT_BIT)+ , ("VK_QUERY_RESULT_WITH_AVAILABILITY_BIT", pure VK_QUERY_RESULT_WITH_AVAILABILITY_BIT)+ , ("VK_QUERY_RESULT_PARTIAL_BIT", pure VK_QUERY_RESULT_PARTIAL_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkQueryResultFlagBits")+ v <- step readPrec+ pure (VkQueryResultFlagBits v)+ )+ )+ -- | Results of the queries are written to the destination buffer as 64-bit values pattern VK_QUERY_RESULT_64_BIT = VkQueryResultFlagBits 0x1 -- | Results of the queries are waited on before proceeding with the result copy@@ -149,8 +172,25 @@ newtype VkQueryControlFlagBits = VkQueryControlFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkQueryControlFlagBits type VkQueryControlFlags = VkQueryControlFlagBits++instance Show VkQueryControlFlagBits where+ showsPrec _ VK_QUERY_CONTROL_PRECISE_BIT = showString "VK_QUERY_CONTROL_PRECISE_BIT"+ + showsPrec p (VkQueryControlFlagBits x) = showParen (p >= 11) (showString "VkQueryControlFlagBits " . showsPrec 11 x)++instance Read VkQueryControlFlagBits where+ readPrec = parens ( choose [ ("VK_QUERY_CONTROL_PRECISE_BIT", pure VK_QUERY_CONTROL_PRECISE_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkQueryControlFlagBits")+ v <- step readPrec+ pure (VkQueryControlFlagBits v)+ )+ )+ -- | Require precise results to be collected by the query pattern VK_QUERY_CONTROL_PRECISE_BIT = VkQueryControlFlagBits 0x1 @@ -164,8 +204,45 @@ newtype VkQueryPipelineStatisticFlagBits = VkQueryPipelineStatisticFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkQueryPipelineStatisticFlagBits type VkQueryPipelineStatisticFlags = VkQueryPipelineStatisticFlagBits++instance Show VkQueryPipelineStatisticFlagBits where+ showsPrec _ VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = showString "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT"+ showsPrec _ VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = showString "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT"+ showsPrec _ VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = showString "VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT"+ showsPrec _ VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = showString "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT"+ showsPrec _ VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = showString "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT"+ showsPrec _ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = showString "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT"+ showsPrec _ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = showString "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT"+ showsPrec _ VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = showString "VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT"+ showsPrec _ VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = showString "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT"+ showsPrec _ VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = showString "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT"+ showsPrec _ VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = showString "VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT"+ + showsPrec p (VkQueryPipelineStatisticFlagBits x) = showParen (p >= 11) (showString "VkQueryPipelineStatisticFlagBits " . showsPrec 11 x)++instance Read VkQueryPipelineStatisticFlagBits where+ readPrec = parens ( choose [ ("VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT", pure VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT)+ , ("VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT", pure VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT)+ , ("VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT", pure VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT)+ , ("VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT", pure VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT)+ , ("VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT", pure VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT)+ , ("VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT", pure VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT)+ , ("VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT", pure VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT)+ , ("VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT", pure VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT)+ , ("VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT", pure VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT)+ , ("VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT", pure VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT)+ , ("VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT", pure VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkQueryPipelineStatisticFlagBits")+ v <- step readPrec+ pure (VkQueryPipelineStatisticFlagBits v)+ )+ )+ -- | Optional pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = VkQueryPipelineStatisticFlagBits 0x1 -- | Optional
src/Graphics/Vulkan/Sampler.hs view
@@ -314,8 +314,37 @@ newtype VkSampleCountFlagBits = VkSampleCountFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkSampleCountFlagBits type VkSampleCountFlags = VkSampleCountFlagBits++instance Show VkSampleCountFlagBits where+ showsPrec _ VK_SAMPLE_COUNT_1_BIT = showString "VK_SAMPLE_COUNT_1_BIT"+ showsPrec _ VK_SAMPLE_COUNT_2_BIT = showString "VK_SAMPLE_COUNT_2_BIT"+ showsPrec _ VK_SAMPLE_COUNT_4_BIT = showString "VK_SAMPLE_COUNT_4_BIT"+ showsPrec _ VK_SAMPLE_COUNT_8_BIT = showString "VK_SAMPLE_COUNT_8_BIT"+ showsPrec _ VK_SAMPLE_COUNT_16_BIT = showString "VK_SAMPLE_COUNT_16_BIT"+ showsPrec _ VK_SAMPLE_COUNT_32_BIT = showString "VK_SAMPLE_COUNT_32_BIT"+ showsPrec _ VK_SAMPLE_COUNT_64_BIT = showString "VK_SAMPLE_COUNT_64_BIT"+ + showsPrec p (VkSampleCountFlagBits x) = showParen (p >= 11) (showString "VkSampleCountFlagBits " . showsPrec 11 x)++instance Read VkSampleCountFlagBits where+ readPrec = parens ( choose [ ("VK_SAMPLE_COUNT_1_BIT", pure VK_SAMPLE_COUNT_1_BIT)+ , ("VK_SAMPLE_COUNT_2_BIT", pure VK_SAMPLE_COUNT_2_BIT)+ , ("VK_SAMPLE_COUNT_4_BIT", pure VK_SAMPLE_COUNT_4_BIT)+ , ("VK_SAMPLE_COUNT_8_BIT", pure VK_SAMPLE_COUNT_8_BIT)+ , ("VK_SAMPLE_COUNT_16_BIT", pure VK_SAMPLE_COUNT_16_BIT)+ , ("VK_SAMPLE_COUNT_32_BIT", pure VK_SAMPLE_COUNT_32_BIT)+ , ("VK_SAMPLE_COUNT_64_BIT", pure VK_SAMPLE_COUNT_64_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkSampleCountFlagBits")+ v <- step readPrec+ pure (VkSampleCountFlagBits v)+ )+ )+ -- | Sample count 1 supported pattern VK_SAMPLE_COUNT_1_BIT = VkSampleCountFlagBits 0x1 -- | Sample count 2 supported
src/Graphics/Vulkan/Shader.hs view
@@ -5,6 +5,11 @@ module Graphics.Vulkan.Shader where import Graphics.Vulkan.Device( VkDevice(..) )+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -27,6 +32,13 @@ , PFN_vkFreeFunction , PFN_vkInternalFreeNotification )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Core( VkResult(..) , VkFlags(..) , VkStructureType(..)@@ -72,8 +84,38 @@ newtype VkShaderStageFlagBits = VkShaderStageFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkShaderStageFlagBits type VkShaderStageFlags = VkShaderStageFlagBits++instance Show VkShaderStageFlagBits where+ showsPrec _ VK_SHADER_STAGE_VERTEX_BIT = showString "VK_SHADER_STAGE_VERTEX_BIT"+ showsPrec _ VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = showString "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT"+ showsPrec _ VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = showString "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT"+ showsPrec _ VK_SHADER_STAGE_GEOMETRY_BIT = showString "VK_SHADER_STAGE_GEOMETRY_BIT"+ showsPrec _ VK_SHADER_STAGE_FRAGMENT_BIT = showString "VK_SHADER_STAGE_FRAGMENT_BIT"+ showsPrec _ VK_SHADER_STAGE_COMPUTE_BIT = showString "VK_SHADER_STAGE_COMPUTE_BIT"+ showsPrec _ VK_SHADER_STAGE_ALL_GRAPHICS = showString "VK_SHADER_STAGE_ALL_GRAPHICS"+ showsPrec _ VK_SHADER_STAGE_ALL = showString "VK_SHADER_STAGE_ALL"+ showsPrec p (VkShaderStageFlagBits x) = showParen (p >= 11) (showString "VkShaderStageFlagBits " . showsPrec 11 x)++instance Read VkShaderStageFlagBits where+ readPrec = parens ( choose [ ("VK_SHADER_STAGE_VERTEX_BIT", pure VK_SHADER_STAGE_VERTEX_BIT)+ , ("VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", pure VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT)+ , ("VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", pure VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)+ , ("VK_SHADER_STAGE_GEOMETRY_BIT", pure VK_SHADER_STAGE_GEOMETRY_BIT)+ , ("VK_SHADER_STAGE_FRAGMENT_BIT", pure VK_SHADER_STAGE_FRAGMENT_BIT)+ , ("VK_SHADER_STAGE_COMPUTE_BIT", pure VK_SHADER_STAGE_COMPUTE_BIT)+ , ("VK_SHADER_STAGE_ALL_GRAPHICS", pure VK_SHADER_STAGE_ALL_GRAPHICS)+ , ("VK_SHADER_STAGE_ALL", pure VK_SHADER_STAGE_ALL)+ ] ++++ prec 10 (do+ expectP (Ident "VkShaderStageFlagBits")+ v <- step readPrec+ pure (VkShaderStageFlagBits v)+ )+ )+ pattern VK_SHADER_STAGE_VERTEX_BIT = VkShaderStageFlagBits 0x1
src/Graphics/Vulkan/SparseResourceMemoryManagement.hs view
@@ -8,6 +8,11 @@ ) import Graphics.Vulkan.Buffer( VkBuffer(..) )+import Text.Read.Lex( Lexeme(Ident)+ )+import GHC.Read( expectP+ , choose+ ) import Data.Word( Word64 , Word32 )@@ -29,6 +34,13 @@ ) import Graphics.Vulkan.Memory( VkDeviceMemory(..) )+import Text.Read( Read(..)+ , parens+ )+import Text.ParserCombinators.ReadPrec( prec+ , (+++)+ , step+ ) import Graphics.Vulkan.Sampler( VkSampleCountFlagBits(..) ) import Graphics.Vulkan.Image( VkImageUsageFlags(..)@@ -226,8 +238,29 @@ newtype VkSparseImageFormatFlagBits = VkSparseImageFormatFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkSparseImageFormatFlagBits type VkSparseImageFormatFlags = VkSparseImageFormatFlagBits++instance Show VkSparseImageFormatFlagBits where+ showsPrec _ VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = showString "VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT"+ showsPrec _ VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = showString "VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT"+ showsPrec _ VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = showString "VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT"+ + showsPrec p (VkSparseImageFormatFlagBits x) = showParen (p >= 11) (showString "VkSparseImageFormatFlagBits " . showsPrec 11 x)++instance Read VkSparseImageFormatFlagBits where+ readPrec = parens ( choose [ ("VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT", pure VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT)+ , ("VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT", pure VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT)+ , ("VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT", pure VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkSparseImageFormatFlagBits")+ v <- step readPrec+ pure (VkSparseImageFormatFlagBits v)+ )+ )+ -- | Image uses a single miptail region for all array layers pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = VkSparseImageFormatFlagBits 0x1 -- | Image requires mip levels to be an exact multiple of the sparse image block size for non-miptail levels.@@ -250,8 +283,25 @@ newtype VkSparseMemoryBindFlagBits = VkSparseMemoryBindFlagBits VkFlags deriving (Eq, Storable, Bits, FiniteBits)+ -- | Alias for VkSparseMemoryBindFlagBits type VkSparseMemoryBindFlags = VkSparseMemoryBindFlagBits++instance Show VkSparseMemoryBindFlagBits where+ showsPrec _ VK_SPARSE_MEMORY_BIND_METADATA_BIT = showString "VK_SPARSE_MEMORY_BIND_METADATA_BIT"+ + showsPrec p (VkSparseMemoryBindFlagBits x) = showParen (p >= 11) (showString "VkSparseMemoryBindFlagBits " . showsPrec 11 x)++instance Read VkSparseMemoryBindFlagBits where+ readPrec = parens ( choose [ ("VK_SPARSE_MEMORY_BIND_METADATA_BIT", pure VK_SPARSE_MEMORY_BIND_METADATA_BIT)+ ] ++++ prec 10 (do+ expectP (Ident "VkSparseMemoryBindFlagBits")+ v <- step readPrec+ pure (VkSparseMemoryBindFlagBits v)+ )+ )+ -- | Operation binds resource metadata to memory pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT = VkSparseMemoryBindFlagBits 0x1
vulkan.cabal view
@@ -1,5 +1,5 @@ name: vulkan-version: 1.2.0.0+version: 1.3.0.0 synopsis: Bindings to the Vulkan graphics API. description: Please see readme.md homepage: http://github.com/expipiplus1/vulkan#readme