-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Bindings to the Vulkan graphics API. -- -- Please see readme.md @package vulkan @version 0.2.0.0 module Graphics.Vulkan type VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = 256 type VK_UUID_SIZE = 16 type VK_MAX_EXTENSION_NAME_SIZE = 256 type VK_MAX_DESCRIPTION_SIZE = 256 type VK_MAX_MEMORY_TYPES = 32 type VK_MAX_MEMORY_HEAPS = 16 type VK_TRUE = 1 type VK_FALSE = 0 newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkBool32 VkBool32 :: Word32 -> VkBool32 type VkFlags = Word32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize data VkInstance_T type VkInstance = Ptr VkInstance_T data VkPhysicalDevice_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T data VkDevice_T type VkDevice = Ptr VkDevice_T data VkQueue_T type VkQueue = Ptr VkQueue_T data VkCommandBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T newtype VkDeviceMemory VkDeviceMemory :: Word64 -> VkDeviceMemory newtype VkCommandPool VkCommandPool :: Word64 -> VkCommandPool newtype VkBuffer VkBuffer :: Word64 -> VkBuffer newtype VkBufferView VkBufferView :: Word64 -> VkBufferView newtype VkImage VkImage :: Word64 -> VkImage newtype VkImageView VkImageView :: Word64 -> VkImageView newtype VkShaderModule VkShaderModule :: Word64 -> VkShaderModule newtype VkPipeline VkPipeline :: Word64 -> VkPipeline newtype VkPipelineLayout VkPipelineLayout :: Word64 -> VkPipelineLayout newtype VkSampler VkSampler :: Word64 -> VkSampler newtype VkDescriptorSet VkDescriptorSet :: Word64 -> VkDescriptorSet newtype VkDescriptorSetLayout VkDescriptorSetLayout :: Word64 -> VkDescriptorSetLayout newtype VkDescriptorPool VkDescriptorPool :: Word64 -> VkDescriptorPool newtype VkFence VkFence :: Word64 -> VkFence newtype VkSemaphore VkSemaphore :: Word64 -> VkSemaphore newtype VkEvent VkEvent :: Word64 -> VkEvent newtype VkQueryPool VkQueryPool :: Word64 -> VkQueryPool newtype VkFramebuffer VkFramebuffer :: Word64 -> VkFramebuffer newtype VkRenderPass VkRenderPass :: Word64 -> VkRenderPass newtype VkPipelineCache VkPipelineCache :: Word64 -> VkPipelineCache newtype VkDisplayKHR VkDisplayKHR :: Word64 -> VkDisplayKHR newtype VkDisplayModeKHR VkDisplayModeKHR :: Word64 -> VkDisplayModeKHR newtype VkSurfaceKHR VkSurfaceKHR :: Word64 -> VkSurfaceKHR newtype VkSwapchainKHR VkSwapchainKHR :: Word64 -> VkSwapchainKHR newtype VkDebugReportCallbackEXT VkDebugReportCallbackEXT :: Word64 -> VkDebugReportCallbackEXT type PFN_vkInternalAllocationNotification = FunPtr (Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO ()) type PFN_vkInternalFreeNotification = FunPtr (Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO ()) type PFN_vkReallocationFunction = FunPtr (Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void)) type PFN_vkAllocationFunction = FunPtr (Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void)) type PFN_vkFreeFunction = FunPtr (Ptr Void -> Ptr Void -> IO ()) type PFN_vkVoidFunction = FunPtr (IO ()) type PFN_vkDebugReportCallbackEXT = FunPtr (VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> Ptr CChar -> Ptr CChar -> Ptr Void -> IO VkBool32) -- | Opaque flag newtype VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags -- | Opaque flag newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags -- | Opaque flag newtype VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags -- | Opaque flag newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags -- | Opaque flag newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags -- | Opaque flag newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags -- | Opaque flag newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags -- | Opaque flag newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags -- | Opaque flag newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags -- | Opaque flag newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags -- | Opaque flag newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags -- | Opaque flag newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags -- | Opaque flag newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags -- | Opaque flag newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags -- | Opaque flag newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags -- | Opaque flag newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags -- | Opaque flag newtype VkDescriptorSetLayoutCreateFlags VkDescriptorSetLayoutCreateFlags :: VkFlags -> VkDescriptorSetLayoutCreateFlags -- | Opaque flag newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags -- | Opaque flag newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags -- | Opaque flag newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags -- | Opaque flag newtype VkDeviceQueueCreateFlags VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateFlags newtype VkQueueFlagBits VkQueueFlagBits :: VkFlags -> VkQueueFlagBits -- | Alias for VkQueueFlagBits type VkQueueFlags = VkQueueFlagBits -- | Queue supports graphics operations -- | Queue supports compute operations -- | Queue supports transfer operations -- | Queue supports sparse resource memory management operations newtype VkMemoryPropertyFlagBits VkMemoryPropertyFlagBits :: VkFlags -> VkMemoryPropertyFlagBits -- | Alias for VkMemoryPropertyFlagBits type VkMemoryPropertyFlags = VkMemoryPropertyFlagBits -- | If otherwise stated, then allocate memory on device -- | Memory is mappable by host -- | Memory will have io coherency. If not set, application may need to -- use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to -- flushinvalidate host cache -- | Memory will be cached by the host -- | Memory may be allocated by the driver when it is required newtype VkMemoryHeapFlagBits VkMemoryHeapFlagBits :: VkFlags -> VkMemoryHeapFlagBits -- | Alias for VkMemoryHeapFlagBits type VkMemoryHeapFlags = VkMemoryHeapFlagBits -- | If set, heap represents device memory newtype VkAccessFlagBits VkAccessFlagBits :: VkFlags -> VkAccessFlagBits -- | Alias for VkAccessFlagBits type VkAccessFlags = VkAccessFlagBits -- | Controls coherency of indirect command reads -- | Controls coherency of index reads -- | Controls coherency of vertex attribute reads -- | Controls coherency of uniform buffer reads -- | Controls coherency of input attachment reads -- | Controls coherency of shader reads -- | Controls coherency of shader writes -- | Controls coherency of color attachment reads -- | Controls coherency of color attachment writes -- | Controls coherency of depth/stencil attachment reads -- | Controls coherency of depth/stencil attachment writes -- | Controls coherency of transfer reads -- | Controls coherency of transfer writes -- | Controls coherency of host reads -- | Controls coherency of host writes -- | Controls coherency of memory reads -- | Controls coherency of memory writes newtype VkBufferUsageFlagBits VkBufferUsageFlagBits :: VkFlags -> VkBufferUsageFlagBits -- | Alias for VkBufferUsageFlagBits type VkBufferUsageFlags = VkBufferUsageFlagBits -- | Can be used as a source of transfer operations -- | Can be used as a destination of transfer operations -- | Can be used as TBO -- | Can be used as IBO -- | Can be used as UBO -- | Can be used as SSBO -- | Can be used as source of fixed-function index fetch (index buffer) -- | Can be used as source of fixed-function vertex fetch (VBO) -- | Can be the source of indirect parameters (e.g. indirect buffer, -- parameter buffer) newtype VkBufferCreateFlagBits VkBufferCreateFlagBits :: VkFlags -> VkBufferCreateFlagBits -- | Alias for VkBufferCreateFlagBits type VkBufferCreateFlags = VkBufferCreateFlagBits -- | Buffer should support sparse backing -- | Buffer should support sparse backing with partial residency -- | Buffer should support constent data access to physical memory blocks -- mapped into multiple locations of sparse buffers newtype VkShaderStageFlagBits VkShaderStageFlagBits :: VkFlags -> VkShaderStageFlagBits -- | Alias for VkShaderStageFlagBits type VkShaderStageFlags = VkShaderStageFlagBits newtype VkImageUsageFlagBits VkImageUsageFlagBits :: VkFlags -> VkImageUsageFlagBits -- | Alias for VkImageUsageFlagBits type VkImageUsageFlags = VkImageUsageFlagBits -- | Can be used as a source of transfer operations -- | Can be used as a destination of transfer operations -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- | Can be used as framebuffer color attachment -- | Can be used as framebuffer depth/stencil attachment -- | Image data not needed outside of rendering -- | Can be used as framebuffer input attachment newtype VkImageCreateFlagBits VkImageCreateFlagBits :: VkFlags -> VkImageCreateFlagBits -- | Alias for VkImageCreateFlagBits type VkImageCreateFlags = VkImageCreateFlagBits -- | Image should support sparse backing -- | Image should support sparse backing with partial residency -- | Image should support constent data access to physical memory blocks -- mapped into multiple locations of sparse images -- | Allows image views to have different format than the base image -- | Allows creating image views with cube type from the created image -- | Opaque flag newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkPipelineCreateFlagBits VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateFlagBits -- | Alias for VkPipelineCreateFlagBits type VkPipelineCreateFlags = VkPipelineCreateFlagBits newtype VkColorComponentFlagBits VkColorComponentFlagBits :: VkFlags -> VkColorComponentFlagBits -- | Alias for VkColorComponentFlagBits type VkColorComponentFlags = VkColorComponentFlagBits newtype VkFenceCreateFlagBits VkFenceCreateFlagBits :: VkFlags -> VkFenceCreateFlagBits -- | Alias for VkFenceCreateFlagBits type VkFenceCreateFlags = VkFenceCreateFlagBits -- | Opaque flag newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkFormatFeatureFlagBits VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureFlagBits -- | Alias for VkFormatFeatureFlagBits type VkFormatFeatureFlags = VkFormatFeatureFlagBits -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- | Format supports atomic operations in case it's used for storage images -- | Format can be used for uniform texel buffers (TBOs) -- | Format can be used for storage texel buffers (IBOs) -- | Format supports atomic operations in case it's used for storage texel -- buffers -- | Format can be used for vertex buffers (VBOs) -- | Format can be used for color attachment images -- | Format supports blending in case it's used for color attachment images -- | Format can be used for depth/stencil attachment images -- | Format can be used as the source image of blits with vkCmdBlitImage -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- | Format can be filtered with VK_FILTER_LINEAR when being sampled newtype VkQueryControlFlagBits VkQueryControlFlagBits :: VkFlags -> VkQueryControlFlagBits -- | Alias for VkQueryControlFlagBits type VkQueryControlFlags = VkQueryControlFlagBits -- | Require precise results to be collected by the query newtype VkQueryResultFlagBits VkQueryResultFlagBits :: VkFlags -> VkQueryResultFlagBits -- | Alias for VkQueryResultFlagBits type VkQueryResultFlags = VkQueryResultFlagBits -- | Results of the queries are written to the destination buffer as 64-bit -- values -- | Results of the queries are waited on before proceeding with the result -- copy -- | Besides the results of the query, the availability of the results is -- also written -- | Copy the partial results of the query even if the final results aren't -- available -- | Opaque flag newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags -- | Opaque flag newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkCommandPoolCreateFlagBits VkCommandPoolCreateFlagBits :: VkFlags -> VkCommandPoolCreateFlagBits -- | Alias for VkCommandPoolCreateFlagBits type VkCommandPoolCreateFlags = VkCommandPoolCreateFlagBits -- | Command buffers have a short lifetime -- | Command buffers may release their memory individually newtype VkCommandPoolResetFlagBits VkCommandPoolResetFlagBits :: VkFlags -> VkCommandPoolResetFlagBits -- | Alias for VkCommandPoolResetFlagBits type VkCommandPoolResetFlags = VkCommandPoolResetFlagBits -- | Release resources owned by the pool newtype VkCommandBufferResetFlagBits VkCommandBufferResetFlagBits :: VkFlags -> VkCommandBufferResetFlagBits -- | Alias for VkCommandBufferResetFlagBits type VkCommandBufferResetFlags = VkCommandBufferResetFlagBits -- | Release resources owned by the buffer newtype VkCommandBufferUsageFlagBits VkCommandBufferUsageFlagBits :: VkFlags -> VkCommandBufferUsageFlagBits -- | Alias for VkCommandBufferUsageFlagBits type VkCommandBufferUsageFlags = VkCommandBufferUsageFlagBits -- | Command buffer may be submitted/executed more than once simultaneously newtype VkQueryPipelineStatisticFlagBits VkQueryPipelineStatisticFlagBits :: VkFlags -> VkQueryPipelineStatisticFlagBits -- | Alias for VkQueryPipelineStatisticFlagBits type VkQueryPipelineStatisticFlags = VkQueryPipelineStatisticFlagBits -- | Optional -- | Optional -- | Optional -- | Optional -- | Optional -- | Optional -- | Optional -- | Optional -- | Optional -- | Optional -- | Optional -- | Opaque flag newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkImageAspectFlagBits VkImageAspectFlagBits :: VkFlags -> VkImageAspectFlagBits -- | Alias for VkImageAspectFlagBits type VkImageAspectFlags = VkImageAspectFlagBits newtype VkSparseMemoryBindFlagBits VkSparseMemoryBindFlagBits :: VkFlags -> VkSparseMemoryBindFlagBits -- | Alias for VkSparseMemoryBindFlagBits type VkSparseMemoryBindFlags = VkSparseMemoryBindFlagBits -- | Operation binds resource metadata to memory newtype VkSparseImageFormatFlagBits VkSparseImageFormatFlagBits :: VkFlags -> VkSparseImageFormatFlagBits -- | Alias for VkSparseImageFormatFlagBits type VkSparseImageFormatFlags = VkSparseImageFormatFlagBits -- | Image uses a single miptail region for all array layers -- | Image requires mip levels to be an exact multiple of the sparse image -- block size for non-miptail levels. -- | Image uses a non-standard sparse block size -- | Opaque flag newtype VkSubpassDescriptionFlags VkSubpassDescriptionFlags :: VkFlags -> VkSubpassDescriptionFlags newtype VkPipelineStageFlagBits VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageFlagBits -- | Alias for VkPipelineStageFlagBits type VkPipelineStageFlags = VkPipelineStageFlagBits -- | Before subsequent commands are processed -- | Draw/DispatchIndirect command fetch -- | Vertex/index fetch -- | Vertex shading -- | Tessellation control shading -- | Tessellation evaluation shading -- | Geometry shading -- | Fragment shading -- | Early fragment (depth and stencil) tests -- | Late fragment (depth and stencil) tests -- | Color attachment writes -- | Compute shading -- | Transfer/copy operations -- | After previous commands have completed -- | Indicates host (CPU) is a source/sink of the dependency -- | All stages of the graphics pipeline -- | All stages supported on the queue newtype VkSampleCountFlagBits VkSampleCountFlagBits :: VkFlags -> VkSampleCountFlagBits -- | Alias for VkSampleCountFlagBits type VkSampleCountFlags = VkSampleCountFlagBits -- | Sample count 1 supported -- | Sample count 2 supported -- | Sample count 4 supported -- | Sample count 8 supported -- | Sample count 16 supported -- | Sample count 32 supported -- | Sample count 64 supported newtype VkAttachmentDescriptionFlagBits VkAttachmentDescriptionFlagBits :: VkFlags -> VkAttachmentDescriptionFlagBits -- | Alias for VkAttachmentDescriptionFlagBits type VkAttachmentDescriptionFlags = VkAttachmentDescriptionFlagBits -- | The attachment may alias physical memory of another attachment in the -- same render pass newtype VkStencilFaceFlagBits VkStencilFaceFlagBits :: VkFlags -> VkStencilFaceFlagBits -- | Alias for VkStencilFaceFlagBits type VkStencilFaceFlags = VkStencilFaceFlagBits -- | Front face -- | Back face -- | Front and back faces newtype VkCullModeFlagBits VkCullModeFlagBits :: VkFlags -> VkCullModeFlagBits -- | Alias for VkCullModeFlagBits type VkCullModeFlags = VkCullModeFlagBits newtype VkDescriptorPoolCreateFlagBits VkDescriptorPoolCreateFlagBits :: VkFlags -> VkDescriptorPoolCreateFlagBits -- | Alias for VkDescriptorPoolCreateFlagBits type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateFlagBits -- | Descriptor sets may be freed individually -- | Opaque flag newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDependencyFlagBits VkDependencyFlagBits :: VkFlags -> VkDependencyFlagBits -- | Alias for VkDependencyFlagBits type VkDependencyFlags = VkDependencyFlagBits -- | Dependency is per pixel region newtype VkCompositeAlphaFlagBitsKHR VkCompositeAlphaFlagBitsKHR :: VkFlags -> VkCompositeAlphaFlagBitsKHR -- | Alias for VkCompositeAlphaFlagBitsKHR type VkCompositeAlphaFlagsKHR = VkCompositeAlphaFlagBitsKHR newtype VkDisplayPlaneAlphaFlagBitsKHR VkDisplayPlaneAlphaFlagBitsKHR :: VkFlags -> VkDisplayPlaneAlphaFlagBitsKHR -- | Alias for VkDisplayPlaneAlphaFlagBitsKHR type VkDisplayPlaneAlphaFlagsKHR = VkDisplayPlaneAlphaFlagBitsKHR newtype VkSurfaceTransformFlagBitsKHR VkSurfaceTransformFlagBitsKHR :: VkFlags -> VkSurfaceTransformFlagBitsKHR -- | Alias for VkSurfaceTransformFlagBitsKHR type VkSurfaceTransformFlagsKHR = VkSurfaceTransformFlagBitsKHR -- | Opaque flag newtype VkSwapchainCreateFlagsKHR VkSwapchainCreateFlagsKHR :: VkFlags -> VkSwapchainCreateFlagsKHR -- | Opaque flag newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR -- | Opaque flag newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR -- | Opaque flag newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR -- | Opaque flag newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR -- | Opaque flag newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR -- | Opaque flag newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR -- | Opaque flag newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- | Opaque flag newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkDebugReportFlagBitsEXT VkDebugReportFlagBitsEXT :: VkFlags -> VkDebugReportFlagBitsEXT -- | Alias for VkDebugReportFlagBitsEXT type VkDebugReportFlagsEXT = VkDebugReportFlagBitsEXT newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU newtype VkAttachmentLoadOp VkAttachmentLoadOp :: Int32 -> VkAttachmentLoadOp newtype VkAttachmentStoreOp VkAttachmentStoreOp :: Int32 -> VkAttachmentStoreOp newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType newtype VkCommandBufferLevel VkCommandBufferLevel :: Int32 -> VkCommandBufferLevel newtype VkComponentSwizzle VkComponentSwizzle :: Int32 -> VkComponentSwizzle newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType newtype VkQueryType VkQueryType :: Int32 -> VkQueryType -- | Optional newtype VkBorderColor VkBorderColor :: Int32 -> VkBorderColor newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion newtype VkPrimitiveTopology VkPrimitiveTopology :: Int32 -> VkPrimitiveTopology newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode newtype VkIndexType VkIndexType :: Int32 -> VkIndexType newtype VkFilter VkFilter :: Int32 -> VkFilter newtype VkSamplerMipmapMode VkSamplerMipmapMode :: Int32 -> VkSamplerMipmapMode -- | Choose nearest mip level -- | Linear filter between mip levels newtype VkSamplerAddressMode VkSamplerAddressMode :: Int32 -> VkSamplerAddressMode newtype VkCompareOp VkCompareOp :: Int32 -> VkCompareOp newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace newtype VkBlendFactor VkBlendFactor :: Int32 -> VkBlendFactor newtype VkBlendOp VkBlendOp :: Int32 -> VkBlendOp newtype VkStencilOp VkStencilOp :: Int32 -> VkStencilOp newtype VkLogicOp VkLogicOp :: Int32 -> VkLogicOp newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType newtype VkVertexInputRate VkVertexInputRate :: Int32 -> VkVertexInputRate -- | Vulkan format definitions newtype VkFormat VkFormat :: Int32 -> VkFormat -- | Structure type enumerant newtype VkStructureType VkStructureType :: Int32 -> VkStructureType newtype VkSubpassContents VkSubpassContents :: Int32 -> VkSubpassContents -- | Error and return codes newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignalled -- | A return array was too small for the resul -- | A host memory allocation has failed -- | A device memory allocation has failed -- | The logical device has been lost. See -- | Initialization of a object has failed -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device newtype VkDynamicState VkDynamicState :: Int32 -> VkDynamicState newtype VkPresentModeKHR VkPresentModeKHR :: Int32 -> VkPresentModeKHR newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR newtype VkDebugReportObjectTypeEXT VkDebugReportObjectTypeEXT :: Int32 -> VkDebugReportObjectTypeEXT newtype VkDebugReportErrorEXT VkDebugReportErrorEXT :: Int32 -> VkDebugReportErrorEXT data VkOffset2D VkOffset2D :: Int32 -> Int32 -> VkOffset2D [$sel:vkX:VkOffset2D] :: VkOffset2D -> Int32 [$sel:vkY:VkOffset2D] :: VkOffset2D -> Int32 data VkOffset3D VkOffset3D :: Int32 -> Int32 -> Int32 -> VkOffset3D [$sel:vkX:VkOffset3D] :: VkOffset3D -> Int32 [$sel:vkY:VkOffset3D] :: VkOffset3D -> Int32 [$sel:vkZ:VkOffset3D] :: VkOffset3D -> Int32 data VkExtent2D VkExtent2D :: Word32 -> Word32 -> VkExtent2D [$sel:vkWidth:VkExtent2D] :: VkExtent2D -> Word32 [$sel:vkHeight:VkExtent2D] :: VkExtent2D -> Word32 data VkExtent3D VkExtent3D :: Word32 -> Word32 -> Word32 -> VkExtent3D [$sel:vkWidth:VkExtent3D] :: VkExtent3D -> Word32 [$sel:vkHeight:VkExtent3D] :: VkExtent3D -> Word32 [$sel:vkDepth:VkExtent3D] :: VkExtent3D -> Word32 data VkViewport VkViewport :: CFloat -> CFloat -> CFloat -> CFloat -> CFloat -> CFloat -> VkViewport [$sel:vkX:VkViewport] :: VkViewport -> CFloat [$sel:vkY:VkViewport] :: VkViewport -> CFloat [$sel:vkWidth:VkViewport] :: VkViewport -> CFloat [$sel:vkHeight:VkViewport] :: VkViewport -> CFloat [$sel:vkMinDepth:VkViewport] :: VkViewport -> CFloat [$sel:vkMaxDepth:VkViewport] :: VkViewport -> CFloat data VkRect2D VkRect2D :: VkOffset2D -> VkExtent2D -> VkRect2D [$sel:vkOffset:VkRect2D] :: VkRect2D -> VkOffset2D [$sel:vkExtent:VkRect2D] :: VkRect2D -> VkExtent2D data VkRect3D VkRect3D :: VkOffset3D -> VkExtent3D -> VkRect3D [$sel:vkOffset:VkRect3D] :: VkRect3D -> VkOffset3D [$sel:vkExtent:VkRect3D] :: VkRect3D -> VkExtent3D data VkClearRect VkClearRect :: VkRect2D -> Word32 -> Word32 -> VkClearRect [$sel:vkRect:VkClearRect] :: VkClearRect -> VkRect2D [$sel:vkBaseArrayLayer:VkClearRect] :: VkClearRect -> Word32 [$sel:vkLayerCount:VkClearRect] :: VkClearRect -> Word32 data VkComponentMapping VkComponentMapping :: VkComponentSwizzle -> VkComponentSwizzle -> VkComponentSwizzle -> VkComponentSwizzle -> VkComponentMapping [$sel:vkR:VkComponentMapping] :: VkComponentMapping -> VkComponentSwizzle [$sel:vkG:VkComponentMapping] :: VkComponentMapping -> VkComponentSwizzle [$sel:vkB:VkComponentMapping] :: VkComponentMapping -> VkComponentSwizzle [$sel:vkA:VkComponentMapping] :: VkComponentMapping -> VkComponentSwizzle data VkPhysicalDeviceProperties VkPhysicalDeviceProperties :: Word32 -> Word32 -> Word32 -> Word32 -> VkPhysicalDeviceType -> Vec (ToPeano VK_MAX_PHYSICAL_DEVICE_NAME_SIZE) CChar -> Vec (ToPeano VK_UUID_SIZE) Word8 -> VkPhysicalDeviceLimits -> VkPhysicalDeviceSparseProperties -> VkPhysicalDeviceProperties [$sel:vkApiVersion:VkPhysicalDeviceProperties] :: VkPhysicalDeviceProperties -> Word32 [$sel:vkDriverVersion:VkPhysicalDeviceProperties] :: VkPhysicalDeviceProperties -> Word32 [$sel:vkVendorID:VkPhysicalDeviceProperties] :: VkPhysicalDeviceProperties -> Word32 [$sel:vkDeviceID:VkPhysicalDeviceProperties] :: VkPhysicalDeviceProperties -> Word32 [$sel:vkDeviceType:VkPhysicalDeviceProperties] :: VkPhysicalDeviceProperties -> VkPhysicalDeviceType [$sel:vkDeviceName:VkPhysicalDeviceProperties] :: VkPhysicalDeviceProperties -> Vec (ToPeano VK_MAX_PHYSICAL_DEVICE_NAME_SIZE) CChar [$sel:vkPipelineCacheUUID:VkPhysicalDeviceProperties] :: VkPhysicalDeviceProperties -> Vec (ToPeano VK_UUID_SIZE) Word8 [$sel:vkLimits:VkPhysicalDeviceProperties] :: VkPhysicalDeviceProperties -> VkPhysicalDeviceLimits [$sel:vkSparseProperties:VkPhysicalDeviceProperties] :: VkPhysicalDeviceProperties -> VkPhysicalDeviceSparseProperties data VkExtensionProperties VkExtensionProperties :: Vec (ToPeano VK_MAX_EXTENSION_NAME_SIZE) CChar -> Word32 -> VkExtensionProperties [$sel:vkExtensionName:VkExtensionProperties] :: VkExtensionProperties -> Vec (ToPeano VK_MAX_EXTENSION_NAME_SIZE) CChar [$sel:vkSpecVersion:VkExtensionProperties] :: VkExtensionProperties -> Word32 data VkLayerProperties VkLayerProperties :: Vec (ToPeano VK_MAX_EXTENSION_NAME_SIZE) CChar -> Word32 -> Word32 -> Vec (ToPeano VK_MAX_DESCRIPTION_SIZE) CChar -> VkLayerProperties [$sel:vkLayerName:VkLayerProperties] :: VkLayerProperties -> Vec (ToPeano VK_MAX_EXTENSION_NAME_SIZE) CChar [$sel:vkSpecVersion:VkLayerProperties] :: VkLayerProperties -> Word32 [$sel:vkImplementationVersion:VkLayerProperties] :: VkLayerProperties -> Word32 [$sel:vkDescription:VkLayerProperties] :: VkLayerProperties -> Vec (ToPeano VK_MAX_DESCRIPTION_SIZE) CChar data VkApplicationInfo VkApplicationInfo :: VkStructureType -> Ptr Void -> Ptr CChar -> Word32 -> Ptr CChar -> Word32 -> Word32 -> VkApplicationInfo [$sel:vkSType:VkApplicationInfo] :: VkApplicationInfo -> VkStructureType [$sel:vkPNext:VkApplicationInfo] :: VkApplicationInfo -> Ptr Void [$sel:vkPApplicationName:VkApplicationInfo] :: VkApplicationInfo -> Ptr CChar [$sel:vkApplicationVersion:VkApplicationInfo] :: VkApplicationInfo -> Word32 [$sel:vkPEngineName:VkApplicationInfo] :: VkApplicationInfo -> Ptr CChar [$sel:vkEngineVersion:VkApplicationInfo] :: VkApplicationInfo -> Word32 [$sel:vkApiVersion:VkApplicationInfo] :: VkApplicationInfo -> Word32 data VkAllocationCallbacks VkAllocationCallbacks :: Ptr Void -> PFN_vkAllocationFunction -> PFN_vkReallocationFunction -> PFN_vkFreeFunction -> PFN_vkInternalAllocationNotification -> PFN_vkInternalFreeNotification -> VkAllocationCallbacks [$sel:vkPUserData:VkAllocationCallbacks] :: VkAllocationCallbacks -> Ptr Void [$sel:vkPfnAllocation:VkAllocationCallbacks] :: VkAllocationCallbacks -> PFN_vkAllocationFunction [$sel:vkPfnReallocation:VkAllocationCallbacks] :: VkAllocationCallbacks -> PFN_vkReallocationFunction [$sel:vkPfnFree:VkAllocationCallbacks] :: VkAllocationCallbacks -> PFN_vkFreeFunction [$sel:vkPfnInternalAllocation:VkAllocationCallbacks] :: VkAllocationCallbacks -> PFN_vkInternalAllocationNotification [$sel:vkPfnInternalFree:VkAllocationCallbacks] :: VkAllocationCallbacks -> PFN_vkInternalFreeNotification data VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo :: VkStructureType -> Ptr Void -> VkDeviceQueueCreateFlags -> Word32 -> Word32 -> Ptr CFloat -> VkDeviceQueueCreateInfo [$sel:vkSType:VkDeviceQueueCreateInfo] :: VkDeviceQueueCreateInfo -> VkStructureType [$sel:vkPNext:VkDeviceQueueCreateInfo] :: VkDeviceQueueCreateInfo -> Ptr Void [$sel:vkFlags:VkDeviceQueueCreateInfo] :: VkDeviceQueueCreateInfo -> VkDeviceQueueCreateFlags [$sel:vkQueueFamilyIndex:VkDeviceQueueCreateInfo] :: VkDeviceQueueCreateInfo -> Word32 [$sel:vkQueueCount:VkDeviceQueueCreateInfo] :: VkDeviceQueueCreateInfo -> Word32 [$sel:vkPQueuePriorities:VkDeviceQueueCreateInfo] :: VkDeviceQueueCreateInfo -> Ptr CFloat data VkDeviceCreateInfo VkDeviceCreateInfo :: VkStructureType -> Ptr Void -> VkDeviceCreateFlags -> Word32 -> Ptr VkDeviceQueueCreateInfo -> Word32 -> Ptr (Ptr CChar) -> Word32 -> Ptr (Ptr CChar) -> Ptr VkPhysicalDeviceFeatures -> VkDeviceCreateInfo [$sel:vkSType:VkDeviceCreateInfo] :: VkDeviceCreateInfo -> VkStructureType [$sel:vkPNext:VkDeviceCreateInfo] :: VkDeviceCreateInfo -> Ptr Void [$sel:vkFlags:VkDeviceCreateInfo] :: VkDeviceCreateInfo -> VkDeviceCreateFlags [$sel:vkQueueCreateInfoCount:VkDeviceCreateInfo] :: VkDeviceCreateInfo -> Word32 [$sel:vkPQueueCreateInfos:VkDeviceCreateInfo] :: VkDeviceCreateInfo -> Ptr VkDeviceQueueCreateInfo [$sel:vkEnabledLayerCount:VkDeviceCreateInfo] :: VkDeviceCreateInfo -> Word32 [$sel:vkPpEnabledLayerNames:VkDeviceCreateInfo] :: VkDeviceCreateInfo -> Ptr (Ptr CChar) [$sel:vkEnabledExtensionCount:VkDeviceCreateInfo] :: VkDeviceCreateInfo -> Word32 [$sel:vkPpEnabledExtensionNames:VkDeviceCreateInfo] :: VkDeviceCreateInfo -> Ptr (Ptr CChar) [$sel:vkPEnabledFeatures:VkDeviceCreateInfo] :: VkDeviceCreateInfo -> Ptr VkPhysicalDeviceFeatures data VkInstanceCreateInfo VkInstanceCreateInfo :: VkStructureType -> Ptr Void -> VkInstanceCreateFlags -> Ptr VkApplicationInfo -> Word32 -> Ptr (Ptr CChar) -> Word32 -> Ptr (Ptr CChar) -> VkInstanceCreateInfo [$sel:vkSType:VkInstanceCreateInfo] :: VkInstanceCreateInfo -> VkStructureType [$sel:vkPNext:VkInstanceCreateInfo] :: VkInstanceCreateInfo -> Ptr Void [$sel:vkFlags:VkInstanceCreateInfo] :: VkInstanceCreateInfo -> VkInstanceCreateFlags [$sel:vkPApplicationInfo:VkInstanceCreateInfo] :: VkInstanceCreateInfo -> Ptr VkApplicationInfo [$sel:vkEnabledLayerCount:VkInstanceCreateInfo] :: VkInstanceCreateInfo -> Word32 [$sel:vkPpEnabledLayerNames:VkInstanceCreateInfo] :: VkInstanceCreateInfo -> Ptr (Ptr CChar) [$sel:vkEnabledExtensionCount:VkInstanceCreateInfo] :: VkInstanceCreateInfo -> Word32 [$sel:vkPpEnabledExtensionNames:VkInstanceCreateInfo] :: VkInstanceCreateInfo -> Ptr (Ptr CChar) data VkQueueFamilyProperties VkQueueFamilyProperties :: VkQueueFlags -> Word32 -> Word32 -> VkExtent3D -> VkQueueFamilyProperties [$sel:vkQueueFlags:VkQueueFamilyProperties] :: VkQueueFamilyProperties -> VkQueueFlags [$sel:vkQueueCount:VkQueueFamilyProperties] :: VkQueueFamilyProperties -> Word32 [$sel:vkTimestampValidBits:VkQueueFamilyProperties] :: VkQueueFamilyProperties -> Word32 [$sel:vkMinImageTransferGranularity:VkQueueFamilyProperties] :: VkQueueFamilyProperties -> VkExtent3D data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties :: Word32 -> Vec (ToPeano VK_MAX_MEMORY_TYPES) VkMemoryType -> Word32 -> Vec (ToPeano VK_MAX_MEMORY_HEAPS) VkMemoryHeap -> VkPhysicalDeviceMemoryProperties [$sel:vkMemoryTypeCount:VkPhysicalDeviceMemoryProperties] :: VkPhysicalDeviceMemoryProperties -> Word32 [$sel:vkMemoryTypes:VkPhysicalDeviceMemoryProperties] :: VkPhysicalDeviceMemoryProperties -> Vec (ToPeano VK_MAX_MEMORY_TYPES) VkMemoryType [$sel:vkMemoryHeapCount:VkPhysicalDeviceMemoryProperties] :: VkPhysicalDeviceMemoryProperties -> Word32 [$sel:vkMemoryHeaps:VkPhysicalDeviceMemoryProperties] :: VkPhysicalDeviceMemoryProperties -> Vec (ToPeano VK_MAX_MEMORY_HEAPS) VkMemoryHeap data VkMemoryAllocateInfo VkMemoryAllocateInfo :: VkStructureType -> Ptr Void -> VkDeviceSize -> Word32 -> VkMemoryAllocateInfo [$sel:vkSType:VkMemoryAllocateInfo] :: VkMemoryAllocateInfo -> VkStructureType [$sel:vkPNext:VkMemoryAllocateInfo] :: VkMemoryAllocateInfo -> Ptr Void [$sel:vkAllocationSize:VkMemoryAllocateInfo] :: VkMemoryAllocateInfo -> VkDeviceSize [$sel:vkMemoryTypeIndex:VkMemoryAllocateInfo] :: VkMemoryAllocateInfo -> Word32 data VkMemoryRequirements VkMemoryRequirements :: VkDeviceSize -> VkDeviceSize -> Word32 -> VkMemoryRequirements [$sel:vkSize:VkMemoryRequirements] :: VkMemoryRequirements -> VkDeviceSize [$sel:vkAlignment:VkMemoryRequirements] :: VkMemoryRequirements -> VkDeviceSize [$sel:vkMemoryTypeBits:VkMemoryRequirements] :: VkMemoryRequirements -> Word32 data VkSparseImageFormatProperties VkSparseImageFormatProperties :: VkImageAspectFlags -> VkExtent3D -> VkSparseImageFormatFlags -> VkSparseImageFormatProperties [$sel:vkAspectMask:VkSparseImageFormatProperties] :: VkSparseImageFormatProperties -> VkImageAspectFlags [$sel:vkImageGranularity:VkSparseImageFormatProperties] :: VkSparseImageFormatProperties -> VkExtent3D [$sel:vkFlags:VkSparseImageFormatProperties] :: VkSparseImageFormatProperties -> VkSparseImageFormatFlags data VkSparseImageMemoryRequirements VkSparseImageMemoryRequirements :: VkSparseImageFormatProperties -> Word32 -> VkDeviceSize -> VkDeviceSize -> VkDeviceSize -> VkSparseImageMemoryRequirements [$sel:vkFormatProperties:VkSparseImageMemoryRequirements] :: VkSparseImageMemoryRequirements -> VkSparseImageFormatProperties [$sel:vkImageMipTailFirstLod:VkSparseImageMemoryRequirements] :: VkSparseImageMemoryRequirements -> Word32 [$sel:vkImageMipTailSize:VkSparseImageMemoryRequirements] :: VkSparseImageMemoryRequirements -> VkDeviceSize [$sel:vkImageMipTailOffset:VkSparseImageMemoryRequirements] :: VkSparseImageMemoryRequirements -> VkDeviceSize [$sel:vkImageMipTailStride:VkSparseImageMemoryRequirements] :: VkSparseImageMemoryRequirements -> VkDeviceSize data VkMemoryType VkMemoryType :: VkMemoryPropertyFlags -> Word32 -> VkMemoryType [$sel:vkPropertyFlags:VkMemoryType] :: VkMemoryType -> VkMemoryPropertyFlags [$sel:vkHeapIndex:VkMemoryType] :: VkMemoryType -> Word32 data VkMemoryHeap VkMemoryHeap :: VkDeviceSize -> VkMemoryHeapFlags -> VkMemoryHeap [$sel:vkSize:VkMemoryHeap] :: VkMemoryHeap -> VkDeviceSize [$sel:vkFlags:VkMemoryHeap] :: VkMemoryHeap -> VkMemoryHeapFlags data VkMappedMemoryRange VkMappedMemoryRange :: VkStructureType -> Ptr Void -> VkDeviceMemory -> VkDeviceSize -> VkDeviceSize -> VkMappedMemoryRange [$sel:vkSType:VkMappedMemoryRange] :: VkMappedMemoryRange -> VkStructureType [$sel:vkPNext:VkMappedMemoryRange] :: VkMappedMemoryRange -> Ptr Void [$sel:vkMemory:VkMappedMemoryRange] :: VkMappedMemoryRange -> VkDeviceMemory [$sel:vkOffset:VkMappedMemoryRange] :: VkMappedMemoryRange -> VkDeviceSize [$sel:vkSize:VkMappedMemoryRange] :: VkMappedMemoryRange -> VkDeviceSize data VkFormatProperties VkFormatProperties :: VkFormatFeatureFlags -> VkFormatFeatureFlags -> VkFormatFeatureFlags -> VkFormatProperties [$sel:vkLinearTilingFeatures:VkFormatProperties] :: VkFormatProperties -> VkFormatFeatureFlags [$sel:vkOptimalTilingFeatures:VkFormatProperties] :: VkFormatProperties -> VkFormatFeatureFlags [$sel:vkBufferFeatures:VkFormatProperties] :: VkFormatProperties -> VkFormatFeatureFlags data VkImageFormatProperties VkImageFormatProperties :: VkExtent3D -> Word32 -> Word32 -> VkSampleCountFlags -> VkDeviceSize -> VkImageFormatProperties [$sel:vkMaxExtent:VkImageFormatProperties] :: VkImageFormatProperties -> VkExtent3D [$sel:vkMaxMipLevels:VkImageFormatProperties] :: VkImageFormatProperties -> Word32 [$sel:vkMaxArrayLayers:VkImageFormatProperties] :: VkImageFormatProperties -> Word32 [$sel:vkSampleCounts:VkImageFormatProperties] :: VkImageFormatProperties -> VkSampleCountFlags [$sel:vkMaxResourceSize:VkImageFormatProperties] :: VkImageFormatProperties -> VkDeviceSize data VkDescriptorBufferInfo VkDescriptorBufferInfo :: VkBuffer -> VkDeviceSize -> VkDeviceSize -> VkDescriptorBufferInfo [$sel:vkBuffer:VkDescriptorBufferInfo] :: VkDescriptorBufferInfo -> VkBuffer [$sel:vkOffset:VkDescriptorBufferInfo] :: VkDescriptorBufferInfo -> VkDeviceSize [$sel:vkRange:VkDescriptorBufferInfo] :: VkDescriptorBufferInfo -> VkDeviceSize data VkDescriptorImageInfo VkDescriptorImageInfo :: VkSampler -> VkImageView -> VkImageLayout -> VkDescriptorImageInfo [$sel:vkSampler:VkDescriptorImageInfo] :: VkDescriptorImageInfo -> VkSampler [$sel:vkImageView:VkDescriptorImageInfo] :: VkDescriptorImageInfo -> VkImageView [$sel:vkImageLayout:VkDescriptorImageInfo] :: VkDescriptorImageInfo -> VkImageLayout data VkWriteDescriptorSet VkWriteDescriptorSet :: VkStructureType -> Ptr Void -> VkDescriptorSet -> Word32 -> Word32 -> Word32 -> VkDescriptorType -> Ptr VkDescriptorImageInfo -> Ptr VkDescriptorBufferInfo -> Ptr VkBufferView -> VkWriteDescriptorSet [$sel:vkSType:VkWriteDescriptorSet] :: VkWriteDescriptorSet -> VkStructureType [$sel:vkPNext:VkWriteDescriptorSet] :: VkWriteDescriptorSet -> Ptr Void [$sel:vkDstSet:VkWriteDescriptorSet] :: VkWriteDescriptorSet -> VkDescriptorSet [$sel:vkDstBinding:VkWriteDescriptorSet] :: VkWriteDescriptorSet -> Word32 [$sel:vkDstArrayElement:VkWriteDescriptorSet] :: VkWriteDescriptorSet -> Word32 [$sel:vkDescriptorCount:VkWriteDescriptorSet] :: VkWriteDescriptorSet -> Word32 [$sel:vkDescriptorType:VkWriteDescriptorSet] :: VkWriteDescriptorSet -> VkDescriptorType [$sel:vkPImageInfo:VkWriteDescriptorSet] :: VkWriteDescriptorSet -> Ptr VkDescriptorImageInfo [$sel:vkPBufferInfo:VkWriteDescriptorSet] :: VkWriteDescriptorSet -> Ptr VkDescriptorBufferInfo [$sel:vkPTexelBufferView:VkWriteDescriptorSet] :: VkWriteDescriptorSet -> Ptr VkBufferView data VkCopyDescriptorSet VkCopyDescriptorSet :: VkStructureType -> Ptr Void -> VkDescriptorSet -> Word32 -> Word32 -> VkDescriptorSet -> Word32 -> Word32 -> Word32 -> VkCopyDescriptorSet [$sel:vkSType:VkCopyDescriptorSet] :: VkCopyDescriptorSet -> VkStructureType [$sel:vkPNext:VkCopyDescriptorSet] :: VkCopyDescriptorSet -> Ptr Void [$sel:vkSrcSet:VkCopyDescriptorSet] :: VkCopyDescriptorSet -> VkDescriptorSet [$sel:vkSrcBinding:VkCopyDescriptorSet] :: VkCopyDescriptorSet -> Word32 [$sel:vkSrcArrayElement:VkCopyDescriptorSet] :: VkCopyDescriptorSet -> Word32 [$sel:vkDstSet:VkCopyDescriptorSet] :: VkCopyDescriptorSet -> VkDescriptorSet [$sel:vkDstBinding:VkCopyDescriptorSet] :: VkCopyDescriptorSet -> Word32 [$sel:vkDstArrayElement:VkCopyDescriptorSet] :: VkCopyDescriptorSet -> Word32 [$sel:vkDescriptorCount:VkCopyDescriptorSet] :: VkCopyDescriptorSet -> Word32 data VkBufferCreateInfo VkBufferCreateInfo :: VkStructureType -> Ptr Void -> VkBufferCreateFlags -> VkDeviceSize -> VkBufferUsageFlags -> VkSharingMode -> Word32 -> Ptr Word32 -> VkBufferCreateInfo [$sel:vkSType:VkBufferCreateInfo] :: VkBufferCreateInfo -> VkStructureType [$sel:vkPNext:VkBufferCreateInfo] :: VkBufferCreateInfo -> Ptr Void [$sel:vkFlags:VkBufferCreateInfo] :: VkBufferCreateInfo -> VkBufferCreateFlags [$sel:vkSize:VkBufferCreateInfo] :: VkBufferCreateInfo -> VkDeviceSize [$sel:vkUsage:VkBufferCreateInfo] :: VkBufferCreateInfo -> VkBufferUsageFlags [$sel:vkSharingMode:VkBufferCreateInfo] :: VkBufferCreateInfo -> VkSharingMode [$sel:vkQueueFamilyIndexCount:VkBufferCreateInfo] :: VkBufferCreateInfo -> Word32 [$sel:vkPQueueFamilyIndices:VkBufferCreateInfo] :: VkBufferCreateInfo -> Ptr Word32 data VkBufferViewCreateInfo VkBufferViewCreateInfo :: VkStructureType -> Ptr Void -> VkBufferViewCreateFlags -> VkBuffer -> VkFormat -> VkDeviceSize -> VkDeviceSize -> VkBufferViewCreateInfo [$sel:vkSType:VkBufferViewCreateInfo] :: VkBufferViewCreateInfo -> VkStructureType [$sel:vkPNext:VkBufferViewCreateInfo] :: VkBufferViewCreateInfo -> Ptr Void [$sel:vkFlags:VkBufferViewCreateInfo] :: VkBufferViewCreateInfo -> VkBufferViewCreateFlags [$sel:vkBuffer:VkBufferViewCreateInfo] :: VkBufferViewCreateInfo -> VkBuffer [$sel:vkFormat:VkBufferViewCreateInfo] :: VkBufferViewCreateInfo -> VkFormat [$sel:vkOffset:VkBufferViewCreateInfo] :: VkBufferViewCreateInfo -> VkDeviceSize [$sel:vkRange:VkBufferViewCreateInfo] :: VkBufferViewCreateInfo -> VkDeviceSize data VkImageSubresource VkImageSubresource :: VkImageAspectFlags -> Word32 -> Word32 -> VkImageSubresource [$sel:vkAspectMask:VkImageSubresource] :: VkImageSubresource -> VkImageAspectFlags [$sel:vkMipLevel:VkImageSubresource] :: VkImageSubresource -> Word32 [$sel:vkArrayLayer:VkImageSubresource] :: VkImageSubresource -> Word32 data VkImageSubresourceLayers VkImageSubresourceLayers :: VkImageAspectFlags -> Word32 -> Word32 -> Word32 -> VkImageSubresourceLayers [$sel:vkAspectMask:VkImageSubresourceLayers] :: VkImageSubresourceLayers -> VkImageAspectFlags [$sel:vkMipLevel:VkImageSubresourceLayers] :: VkImageSubresourceLayers -> Word32 [$sel:vkBaseArrayLayer:VkImageSubresourceLayers] :: VkImageSubresourceLayers -> Word32 [$sel:vkLayerCount:VkImageSubresourceLayers] :: VkImageSubresourceLayers -> Word32 data VkImageSubresourceRange VkImageSubresourceRange :: VkImageAspectFlags -> Word32 -> Word32 -> Word32 -> Word32 -> VkImageSubresourceRange [$sel:vkAspectMask:VkImageSubresourceRange] :: VkImageSubresourceRange -> VkImageAspectFlags [$sel:vkBaseMipLevel:VkImageSubresourceRange] :: VkImageSubresourceRange -> Word32 [$sel:vkLevelCount:VkImageSubresourceRange] :: VkImageSubresourceRange -> Word32 [$sel:vkBaseArrayLayer:VkImageSubresourceRange] :: VkImageSubresourceRange -> Word32 [$sel:vkLayerCount:VkImageSubresourceRange] :: VkImageSubresourceRange -> Word32 data VkMemoryBarrier VkMemoryBarrier :: VkStructureType -> Ptr Void -> VkAccessFlags -> VkAccessFlags -> VkMemoryBarrier [$sel:vkSType:VkMemoryBarrier] :: VkMemoryBarrier -> VkStructureType [$sel:vkPNext:VkMemoryBarrier] :: VkMemoryBarrier -> Ptr Void [$sel:vkSrcAccessMask:VkMemoryBarrier] :: VkMemoryBarrier -> VkAccessFlags [$sel:vkDstAccessMask:VkMemoryBarrier] :: VkMemoryBarrier -> VkAccessFlags data VkBufferMemoryBarrier VkBufferMemoryBarrier :: VkStructureType -> Ptr Void -> VkAccessFlags -> VkAccessFlags -> Word32 -> Word32 -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> VkBufferMemoryBarrier [$sel:vkSType:VkBufferMemoryBarrier] :: VkBufferMemoryBarrier -> VkStructureType [$sel:vkPNext:VkBufferMemoryBarrier] :: VkBufferMemoryBarrier -> Ptr Void [$sel:vkSrcAccessMask:VkBufferMemoryBarrier] :: VkBufferMemoryBarrier -> VkAccessFlags [$sel:vkDstAccessMask:VkBufferMemoryBarrier] :: VkBufferMemoryBarrier -> VkAccessFlags [$sel:vkSrcQueueFamilyIndex:VkBufferMemoryBarrier] :: VkBufferMemoryBarrier -> Word32 [$sel:vkDstQueueFamilyIndex:VkBufferMemoryBarrier] :: VkBufferMemoryBarrier -> Word32 [$sel:vkBuffer:VkBufferMemoryBarrier] :: VkBufferMemoryBarrier -> VkBuffer [$sel:vkOffset:VkBufferMemoryBarrier] :: VkBufferMemoryBarrier -> VkDeviceSize [$sel:vkSize:VkBufferMemoryBarrier] :: VkBufferMemoryBarrier -> VkDeviceSize data VkImageMemoryBarrier VkImageMemoryBarrier :: VkStructureType -> Ptr Void -> VkAccessFlags -> VkAccessFlags -> VkImageLayout -> VkImageLayout -> Word32 -> Word32 -> VkImage -> VkImageSubresourceRange -> VkImageMemoryBarrier [$sel:vkSType:VkImageMemoryBarrier] :: VkImageMemoryBarrier -> VkStructureType [$sel:vkPNext:VkImageMemoryBarrier] :: VkImageMemoryBarrier -> Ptr Void [$sel:vkSrcAccessMask:VkImageMemoryBarrier] :: VkImageMemoryBarrier -> VkAccessFlags [$sel:vkDstAccessMask:VkImageMemoryBarrier] :: VkImageMemoryBarrier -> VkAccessFlags [$sel:vkOldLayout:VkImageMemoryBarrier] :: VkImageMemoryBarrier -> VkImageLayout [$sel:vkNewLayout:VkImageMemoryBarrier] :: VkImageMemoryBarrier -> VkImageLayout [$sel:vkSrcQueueFamilyIndex:VkImageMemoryBarrier] :: VkImageMemoryBarrier -> Word32 [$sel:vkDstQueueFamilyIndex:VkImageMemoryBarrier] :: VkImageMemoryBarrier -> Word32 [$sel:vkImage:VkImageMemoryBarrier] :: VkImageMemoryBarrier -> VkImage [$sel:vkSubresourceRange:VkImageMemoryBarrier] :: VkImageMemoryBarrier -> VkImageSubresourceRange data VkImageCreateInfo VkImageCreateInfo :: VkStructureType -> Ptr Void -> VkImageCreateFlags -> VkImageType -> VkFormat -> VkExtent3D -> Word32 -> Word32 -> VkSampleCountFlagBits -> VkImageTiling -> VkImageUsageFlags -> VkSharingMode -> Word32 -> Ptr Word32 -> VkImageLayout -> VkImageCreateInfo [$sel:vkSType:VkImageCreateInfo] :: VkImageCreateInfo -> VkStructureType [$sel:vkPNext:VkImageCreateInfo] :: VkImageCreateInfo -> Ptr Void [$sel:vkFlags:VkImageCreateInfo] :: VkImageCreateInfo -> VkImageCreateFlags [$sel:vkImageType:VkImageCreateInfo] :: VkImageCreateInfo -> VkImageType [$sel:vkFormat:VkImageCreateInfo] :: VkImageCreateInfo -> VkFormat [$sel:vkExtent:VkImageCreateInfo] :: VkImageCreateInfo -> VkExtent3D [$sel:vkMipLevels:VkImageCreateInfo] :: VkImageCreateInfo -> Word32 [$sel:vkArrayLayers:VkImageCreateInfo] :: VkImageCreateInfo -> Word32 [$sel:vkSamples:VkImageCreateInfo] :: VkImageCreateInfo -> VkSampleCountFlagBits [$sel:vkTiling:VkImageCreateInfo] :: VkImageCreateInfo -> VkImageTiling [$sel:vkUsage:VkImageCreateInfo] :: VkImageCreateInfo -> VkImageUsageFlags [$sel:vkSharingMode:VkImageCreateInfo] :: VkImageCreateInfo -> VkSharingMode [$sel:vkQueueFamilyIndexCount:VkImageCreateInfo] :: VkImageCreateInfo -> Word32 [$sel:vkPQueueFamilyIndices:VkImageCreateInfo] :: VkImageCreateInfo -> Ptr Word32 [$sel:vkInitialLayout:VkImageCreateInfo] :: VkImageCreateInfo -> VkImageLayout data VkSubresourceLayout VkSubresourceLayout :: VkDeviceSize -> VkDeviceSize -> VkDeviceSize -> VkDeviceSize -> VkDeviceSize -> VkSubresourceLayout [$sel:vkOffset:VkSubresourceLayout] :: VkSubresourceLayout -> VkDeviceSize [$sel:vkSize:VkSubresourceLayout] :: VkSubresourceLayout -> VkDeviceSize [$sel:vkRowPitch:VkSubresourceLayout] :: VkSubresourceLayout -> VkDeviceSize [$sel:vkArrayPitch:VkSubresourceLayout] :: VkSubresourceLayout -> VkDeviceSize [$sel:vkDepthPitch:VkSubresourceLayout] :: VkSubresourceLayout -> VkDeviceSize data VkImageViewCreateInfo VkImageViewCreateInfo :: VkStructureType -> Ptr Void -> VkImageViewCreateFlags -> VkImage -> VkImageViewType -> VkFormat -> VkComponentMapping -> VkImageSubresourceRange -> VkImageViewCreateInfo [$sel:vkSType:VkImageViewCreateInfo] :: VkImageViewCreateInfo -> VkStructureType [$sel:vkPNext:VkImageViewCreateInfo] :: VkImageViewCreateInfo -> Ptr Void [$sel:vkFlags:VkImageViewCreateInfo] :: VkImageViewCreateInfo -> VkImageViewCreateFlags [$sel:vkImage:VkImageViewCreateInfo] :: VkImageViewCreateInfo -> VkImage [$sel:vkViewType:VkImageViewCreateInfo] :: VkImageViewCreateInfo -> VkImageViewType [$sel:vkFormat:VkImageViewCreateInfo] :: VkImageViewCreateInfo -> VkFormat [$sel:vkComponents:VkImageViewCreateInfo] :: VkImageViewCreateInfo -> VkComponentMapping [$sel:vkSubresourceRange:VkImageViewCreateInfo] :: VkImageViewCreateInfo -> VkImageSubresourceRange data VkBufferCopy VkBufferCopy :: VkDeviceSize -> VkDeviceSize -> VkDeviceSize -> VkBufferCopy [$sel:vkSrcOffset:VkBufferCopy] :: VkBufferCopy -> VkDeviceSize [$sel:vkDstOffset:VkBufferCopy] :: VkBufferCopy -> VkDeviceSize [$sel:vkSize:VkBufferCopy] :: VkBufferCopy -> VkDeviceSize data VkSparseMemoryBind VkSparseMemoryBind :: VkDeviceSize -> VkDeviceSize -> VkDeviceMemory -> VkDeviceSize -> VkSparseMemoryBindFlags -> VkSparseMemoryBind [$sel:vkResourceOffset:VkSparseMemoryBind] :: VkSparseMemoryBind -> VkDeviceSize [$sel:vkSize:VkSparseMemoryBind] :: VkSparseMemoryBind -> VkDeviceSize [$sel:vkMemory:VkSparseMemoryBind] :: VkSparseMemoryBind -> VkDeviceMemory [$sel:vkMemoryOffset:VkSparseMemoryBind] :: VkSparseMemoryBind -> VkDeviceSize [$sel:vkFlags:VkSparseMemoryBind] :: VkSparseMemoryBind -> VkSparseMemoryBindFlags data VkSparseImageMemoryBind VkSparseImageMemoryBind :: VkImageSubresource -> VkOffset3D -> VkExtent3D -> VkDeviceMemory -> VkDeviceSize -> VkSparseMemoryBindFlags -> VkSparseImageMemoryBind [$sel:vkSubresource:VkSparseImageMemoryBind] :: VkSparseImageMemoryBind -> VkImageSubresource [$sel:vkOffset:VkSparseImageMemoryBind] :: VkSparseImageMemoryBind -> VkOffset3D [$sel:vkExtent:VkSparseImageMemoryBind] :: VkSparseImageMemoryBind -> VkExtent3D [$sel:vkMemory:VkSparseImageMemoryBind] :: VkSparseImageMemoryBind -> VkDeviceMemory [$sel:vkMemoryOffset:VkSparseImageMemoryBind] :: VkSparseImageMemoryBind -> VkDeviceSize [$sel:vkFlags:VkSparseImageMemoryBind] :: VkSparseImageMemoryBind -> VkSparseMemoryBindFlags data VkSparseBufferMemoryBindInfo VkSparseBufferMemoryBindInfo :: VkBuffer -> Word32 -> Ptr VkSparseMemoryBind -> VkSparseBufferMemoryBindInfo [$sel:vkBuffer:VkSparseBufferMemoryBindInfo] :: VkSparseBufferMemoryBindInfo -> VkBuffer [$sel:vkBindCount:VkSparseBufferMemoryBindInfo] :: VkSparseBufferMemoryBindInfo -> Word32 [$sel:vkPBinds:VkSparseBufferMemoryBindInfo] :: VkSparseBufferMemoryBindInfo -> Ptr VkSparseMemoryBind data VkSparseImageOpaqueMemoryBindInfo VkSparseImageOpaqueMemoryBindInfo :: VkImage -> Word32 -> Ptr VkSparseMemoryBind -> VkSparseImageOpaqueMemoryBindInfo [$sel:vkImage:VkSparseImageOpaqueMemoryBindInfo] :: VkSparseImageOpaqueMemoryBindInfo -> VkImage [$sel:vkBindCount:VkSparseImageOpaqueMemoryBindInfo] :: VkSparseImageOpaqueMemoryBindInfo -> Word32 [$sel:vkPBinds:VkSparseImageOpaqueMemoryBindInfo] :: VkSparseImageOpaqueMemoryBindInfo -> Ptr VkSparseMemoryBind data VkSparseImageMemoryBindInfo VkSparseImageMemoryBindInfo :: VkImage -> Word32 -> Ptr VkSparseImageMemoryBind -> VkSparseImageMemoryBindInfo [$sel:vkImage:VkSparseImageMemoryBindInfo] :: VkSparseImageMemoryBindInfo -> VkImage [$sel:vkBindCount:VkSparseImageMemoryBindInfo] :: VkSparseImageMemoryBindInfo -> Word32 [$sel:vkPBinds:VkSparseImageMemoryBindInfo] :: VkSparseImageMemoryBindInfo -> Ptr VkSparseImageMemoryBind data VkBindSparseInfo VkBindSparseInfo :: VkStructureType -> Ptr Void -> Word32 -> Ptr VkSemaphore -> Word32 -> Ptr VkSparseBufferMemoryBindInfo -> Word32 -> Ptr VkSparseImageOpaqueMemoryBindInfo -> Word32 -> Ptr VkSparseImageMemoryBindInfo -> Word32 -> Ptr VkSemaphore -> VkBindSparseInfo [$sel:vkSType:VkBindSparseInfo] :: VkBindSparseInfo -> VkStructureType [$sel:vkPNext:VkBindSparseInfo] :: VkBindSparseInfo -> Ptr Void [$sel:vkWaitSemaphoreCount:VkBindSparseInfo] :: VkBindSparseInfo -> Word32 [$sel:vkPWaitSemaphores:VkBindSparseInfo] :: VkBindSparseInfo -> Ptr VkSemaphore [$sel:vkBufferBindCount:VkBindSparseInfo] :: VkBindSparseInfo -> Word32 [$sel:vkPBufferBinds:VkBindSparseInfo] :: VkBindSparseInfo -> Ptr VkSparseBufferMemoryBindInfo [$sel:vkImageOpaqueBindCount:VkBindSparseInfo] :: VkBindSparseInfo -> Word32 [$sel:vkPImageOpaqueBinds:VkBindSparseInfo] :: VkBindSparseInfo -> Ptr VkSparseImageOpaqueMemoryBindInfo [$sel:vkImageBindCount:VkBindSparseInfo] :: VkBindSparseInfo -> Word32 [$sel:vkPImageBinds:VkBindSparseInfo] :: VkBindSparseInfo -> Ptr VkSparseImageMemoryBindInfo [$sel:vkSignalSemaphoreCount:VkBindSparseInfo] :: VkBindSparseInfo -> Word32 [$sel:vkPSignalSemaphores:VkBindSparseInfo] :: VkBindSparseInfo -> Ptr VkSemaphore data VkImageCopy VkImageCopy :: VkImageSubresourceLayers -> VkOffset3D -> VkImageSubresourceLayers -> VkOffset3D -> VkExtent3D -> VkImageCopy [$sel:vkSrcSubresource:VkImageCopy] :: VkImageCopy -> VkImageSubresourceLayers [$sel:vkSrcOffset:VkImageCopy] :: VkImageCopy -> VkOffset3D [$sel:vkDstSubresource:VkImageCopy] :: VkImageCopy -> VkImageSubresourceLayers [$sel:vkDstOffset:VkImageCopy] :: VkImageCopy -> VkOffset3D [$sel:vkExtent:VkImageCopy] :: VkImageCopy -> VkExtent3D data VkImageBlit VkImageBlit :: VkImageSubresourceLayers -> Vec (ToPeano 2) VkOffset3D -> VkImageSubresourceLayers -> Vec (ToPeano 2) VkOffset3D -> VkImageBlit [$sel:vkSrcSubresource:VkImageBlit] :: VkImageBlit -> VkImageSubresourceLayers [$sel:vkSrcOffsets:VkImageBlit] :: VkImageBlit -> Vec (ToPeano 2) VkOffset3D [$sel:vkDstSubresource:VkImageBlit] :: VkImageBlit -> VkImageSubresourceLayers [$sel:vkDstOffsets:VkImageBlit] :: VkImageBlit -> Vec (ToPeano 2) VkOffset3D data VkBufferImageCopy VkBufferImageCopy :: VkDeviceSize -> Word32 -> Word32 -> VkImageSubresourceLayers -> VkOffset3D -> VkExtent3D -> VkBufferImageCopy [$sel:vkBufferOffset:VkBufferImageCopy] :: VkBufferImageCopy -> VkDeviceSize [$sel:vkBufferRowLength:VkBufferImageCopy] :: VkBufferImageCopy -> Word32 [$sel:vkBufferImageHeight:VkBufferImageCopy] :: VkBufferImageCopy -> Word32 [$sel:vkImageSubresource:VkBufferImageCopy] :: VkBufferImageCopy -> VkImageSubresourceLayers [$sel:vkImageOffset:VkBufferImageCopy] :: VkBufferImageCopy -> VkOffset3D [$sel:vkImageExtent:VkBufferImageCopy] :: VkBufferImageCopy -> VkExtent3D data VkImageResolve VkImageResolve :: VkImageSubresourceLayers -> VkOffset3D -> VkImageSubresourceLayers -> VkOffset3D -> VkExtent3D -> VkImageResolve [$sel:vkSrcSubresource:VkImageResolve] :: VkImageResolve -> VkImageSubresourceLayers [$sel:vkSrcOffset:VkImageResolve] :: VkImageResolve -> VkOffset3D [$sel:vkDstSubresource:VkImageResolve] :: VkImageResolve -> VkImageSubresourceLayers [$sel:vkDstOffset:VkImageResolve] :: VkImageResolve -> VkOffset3D [$sel:vkExtent:VkImageResolve] :: VkImageResolve -> VkExtent3D data VkShaderModuleCreateInfo VkShaderModuleCreateInfo :: VkStructureType -> Ptr Void -> VkShaderModuleCreateFlags -> CSize -> Ptr Word32 -> VkShaderModuleCreateInfo [$sel:vkSType:VkShaderModuleCreateInfo] :: VkShaderModuleCreateInfo -> VkStructureType [$sel:vkPNext:VkShaderModuleCreateInfo] :: VkShaderModuleCreateInfo -> Ptr Void [$sel:vkFlags:VkShaderModuleCreateInfo] :: VkShaderModuleCreateInfo -> VkShaderModuleCreateFlags [$sel:vkCodeSize:VkShaderModuleCreateInfo] :: VkShaderModuleCreateInfo -> CSize [$sel:vkPCode:VkShaderModuleCreateInfo] :: VkShaderModuleCreateInfo -> Ptr Word32 data VkDescriptorSetLayoutBinding VkDescriptorSetLayoutBinding :: Word32 -> VkDescriptorType -> Word32 -> VkShaderStageFlags -> Ptr VkSampler -> VkDescriptorSetLayoutBinding [$sel:vkBinding:VkDescriptorSetLayoutBinding] :: VkDescriptorSetLayoutBinding -> Word32 [$sel:vkDescriptorType:VkDescriptorSetLayoutBinding] :: VkDescriptorSetLayoutBinding -> VkDescriptorType [$sel:vkDescriptorCount:VkDescriptorSetLayoutBinding] :: VkDescriptorSetLayoutBinding -> Word32 [$sel:vkStageFlags:VkDescriptorSetLayoutBinding] :: VkDescriptorSetLayoutBinding -> VkShaderStageFlags [$sel:vkPImmutableSamplers:VkDescriptorSetLayoutBinding] :: VkDescriptorSetLayoutBinding -> Ptr VkSampler data VkDescriptorSetLayoutCreateInfo VkDescriptorSetLayoutCreateInfo :: VkStructureType -> Ptr Void -> VkDescriptorSetLayoutCreateFlags -> Word32 -> Ptr VkDescriptorSetLayoutBinding -> VkDescriptorSetLayoutCreateInfo [$sel:vkSType:VkDescriptorSetLayoutCreateInfo] :: VkDescriptorSetLayoutCreateInfo -> VkStructureType [$sel:vkPNext:VkDescriptorSetLayoutCreateInfo] :: VkDescriptorSetLayoutCreateInfo -> Ptr Void [$sel:vkFlags:VkDescriptorSetLayoutCreateInfo] :: VkDescriptorSetLayoutCreateInfo -> VkDescriptorSetLayoutCreateFlags [$sel:vkBindingCount:VkDescriptorSetLayoutCreateInfo] :: VkDescriptorSetLayoutCreateInfo -> Word32 [$sel:vkPBindings:VkDescriptorSetLayoutCreateInfo] :: VkDescriptorSetLayoutCreateInfo -> Ptr VkDescriptorSetLayoutBinding data VkDescriptorPoolSize VkDescriptorPoolSize :: VkDescriptorType -> Word32 -> VkDescriptorPoolSize [$sel:vkType:VkDescriptorPoolSize] :: VkDescriptorPoolSize -> VkDescriptorType [$sel:vkDescriptorCount:VkDescriptorPoolSize] :: VkDescriptorPoolSize -> Word32 data VkDescriptorPoolCreateInfo VkDescriptorPoolCreateInfo :: VkStructureType -> Ptr Void -> VkDescriptorPoolCreateFlags -> Word32 -> Word32 -> Ptr VkDescriptorPoolSize -> VkDescriptorPoolCreateInfo [$sel:vkSType:VkDescriptorPoolCreateInfo] :: VkDescriptorPoolCreateInfo -> VkStructureType [$sel:vkPNext:VkDescriptorPoolCreateInfo] :: VkDescriptorPoolCreateInfo -> Ptr Void [$sel:vkFlags:VkDescriptorPoolCreateInfo] :: VkDescriptorPoolCreateInfo -> VkDescriptorPoolCreateFlags [$sel:vkMaxSets:VkDescriptorPoolCreateInfo] :: VkDescriptorPoolCreateInfo -> Word32 [$sel:vkPoolSizeCount:VkDescriptorPoolCreateInfo] :: VkDescriptorPoolCreateInfo -> Word32 [$sel:vkPPoolSizes:VkDescriptorPoolCreateInfo] :: VkDescriptorPoolCreateInfo -> Ptr VkDescriptorPoolSize data VkDescriptorSetAllocateInfo VkDescriptorSetAllocateInfo :: VkStructureType -> Ptr Void -> VkDescriptorPool -> Word32 -> Ptr VkDescriptorSetLayout -> VkDescriptorSetAllocateInfo [$sel:vkSType:VkDescriptorSetAllocateInfo] :: VkDescriptorSetAllocateInfo -> VkStructureType [$sel:vkPNext:VkDescriptorSetAllocateInfo] :: VkDescriptorSetAllocateInfo -> Ptr Void [$sel:vkDescriptorPool:VkDescriptorSetAllocateInfo] :: VkDescriptorSetAllocateInfo -> VkDescriptorPool [$sel:vkDescriptorSetCount:VkDescriptorSetAllocateInfo] :: VkDescriptorSetAllocateInfo -> Word32 [$sel:vkPSetLayouts:VkDescriptorSetAllocateInfo] :: VkDescriptorSetAllocateInfo -> Ptr VkDescriptorSetLayout data VkSpecializationMapEntry VkSpecializationMapEntry :: Word32 -> Word32 -> CSize -> VkSpecializationMapEntry [$sel:vkConstantID:VkSpecializationMapEntry] :: VkSpecializationMapEntry -> Word32 [$sel:vkOffset:VkSpecializationMapEntry] :: VkSpecializationMapEntry -> Word32 [$sel:vkSize:VkSpecializationMapEntry] :: VkSpecializationMapEntry -> CSize data VkSpecializationInfo VkSpecializationInfo :: Word32 -> Ptr VkSpecializationMapEntry -> CSize -> Ptr Void -> VkSpecializationInfo [$sel:vkMapEntryCount:VkSpecializationInfo] :: VkSpecializationInfo -> Word32 [$sel:vkPMapEntries:VkSpecializationInfo] :: VkSpecializationInfo -> Ptr VkSpecializationMapEntry [$sel:vkDataSize:VkSpecializationInfo] :: VkSpecializationInfo -> CSize [$sel:vkPData:VkSpecializationInfo] :: VkSpecializationInfo -> Ptr Void data VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo :: VkStructureType -> Ptr Void -> VkPipelineShaderStageCreateFlags -> VkShaderStageFlagBits -> VkShaderModule -> Ptr CChar -> Ptr VkSpecializationInfo -> VkPipelineShaderStageCreateInfo [$sel:vkSType:VkPipelineShaderStageCreateInfo] :: VkPipelineShaderStageCreateInfo -> VkStructureType [$sel:vkPNext:VkPipelineShaderStageCreateInfo] :: VkPipelineShaderStageCreateInfo -> Ptr Void [$sel:vkFlags:VkPipelineShaderStageCreateInfo] :: VkPipelineShaderStageCreateInfo -> VkPipelineShaderStageCreateFlags [$sel:vkStage:VkPipelineShaderStageCreateInfo] :: VkPipelineShaderStageCreateInfo -> VkShaderStageFlagBits [$sel:vkModule:VkPipelineShaderStageCreateInfo] :: VkPipelineShaderStageCreateInfo -> VkShaderModule [$sel:vkPName:VkPipelineShaderStageCreateInfo] :: VkPipelineShaderStageCreateInfo -> Ptr CChar [$sel:vkPSpecializationInfo:VkPipelineShaderStageCreateInfo] :: VkPipelineShaderStageCreateInfo -> Ptr VkSpecializationInfo data VkComputePipelineCreateInfo VkComputePipelineCreateInfo :: VkStructureType -> Ptr Void -> VkPipelineCreateFlags -> VkPipelineShaderStageCreateInfo -> VkPipelineLayout -> VkPipeline -> Int32 -> VkComputePipelineCreateInfo [$sel:vkSType:VkComputePipelineCreateInfo] :: VkComputePipelineCreateInfo -> VkStructureType [$sel:vkPNext:VkComputePipelineCreateInfo] :: VkComputePipelineCreateInfo -> Ptr Void [$sel:vkFlags:VkComputePipelineCreateInfo] :: VkComputePipelineCreateInfo -> VkPipelineCreateFlags [$sel:vkStage:VkComputePipelineCreateInfo] :: VkComputePipelineCreateInfo -> VkPipelineShaderStageCreateInfo [$sel:vkLayout:VkComputePipelineCreateInfo] :: VkComputePipelineCreateInfo -> VkPipelineLayout [$sel:vkBasePipelineHandle:VkComputePipelineCreateInfo] :: VkComputePipelineCreateInfo -> VkPipeline [$sel:vkBasePipelineIndex:VkComputePipelineCreateInfo] :: VkComputePipelineCreateInfo -> Int32 data VkVertexInputBindingDescription VkVertexInputBindingDescription :: Word32 -> Word32 -> VkVertexInputRate -> VkVertexInputBindingDescription [$sel:vkBinding:VkVertexInputBindingDescription] :: VkVertexInputBindingDescription -> Word32 [$sel:vkStride:VkVertexInputBindingDescription] :: VkVertexInputBindingDescription -> Word32 [$sel:vkInputRate:VkVertexInputBindingDescription] :: VkVertexInputBindingDescription -> VkVertexInputRate data VkVertexInputAttributeDescription VkVertexInputAttributeDescription :: Word32 -> Word32 -> VkFormat -> Word32 -> VkVertexInputAttributeDescription [$sel:vkLocation:VkVertexInputAttributeDescription] :: VkVertexInputAttributeDescription -> Word32 [$sel:vkBinding:VkVertexInputAttributeDescription] :: VkVertexInputAttributeDescription -> Word32 [$sel:vkFormat:VkVertexInputAttributeDescription] :: VkVertexInputAttributeDescription -> VkFormat [$sel:vkOffset:VkVertexInputAttributeDescription] :: VkVertexInputAttributeDescription -> Word32 data VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo :: VkStructureType -> Ptr Void -> VkPipelineVertexInputStateCreateFlags -> Word32 -> Ptr VkVertexInputBindingDescription -> Word32 -> Ptr VkVertexInputAttributeDescription -> VkPipelineVertexInputStateCreateInfo [$sel:vkSType:VkPipelineVertexInputStateCreateInfo] :: VkPipelineVertexInputStateCreateInfo -> VkStructureType [$sel:vkPNext:VkPipelineVertexInputStateCreateInfo] :: VkPipelineVertexInputStateCreateInfo -> Ptr Void [$sel:vkFlags:VkPipelineVertexInputStateCreateInfo] :: VkPipelineVertexInputStateCreateInfo -> VkPipelineVertexInputStateCreateFlags [$sel:vkVertexBindingDescriptionCount:VkPipelineVertexInputStateCreateInfo] :: VkPipelineVertexInputStateCreateInfo -> Word32 [$sel:vkPVertexBindingDescriptions:VkPipelineVertexInputStateCreateInfo] :: VkPipelineVertexInputStateCreateInfo -> Ptr VkVertexInputBindingDescription [$sel:vkVertexAttributeDescriptionCount:VkPipelineVertexInputStateCreateInfo] :: VkPipelineVertexInputStateCreateInfo -> Word32 [$sel:vkPVertexAttributeDescriptions:VkPipelineVertexInputStateCreateInfo] :: VkPipelineVertexInputStateCreateInfo -> Ptr VkVertexInputAttributeDescription data VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo :: VkStructureType -> Ptr Void -> VkPipelineInputAssemblyStateCreateFlags -> VkPrimitiveTopology -> VkBool32 -> VkPipelineInputAssemblyStateCreateInfo [$sel:vkSType:VkPipelineInputAssemblyStateCreateInfo] :: VkPipelineInputAssemblyStateCreateInfo -> VkStructureType [$sel:vkPNext:VkPipelineInputAssemblyStateCreateInfo] :: VkPipelineInputAssemblyStateCreateInfo -> Ptr Void [$sel:vkFlags:VkPipelineInputAssemblyStateCreateInfo] :: VkPipelineInputAssemblyStateCreateInfo -> VkPipelineInputAssemblyStateCreateFlags [$sel:vkTopology:VkPipelineInputAssemblyStateCreateInfo] :: VkPipelineInputAssemblyStateCreateInfo -> VkPrimitiveTopology [$sel:vkPrimitiveRestartEnable:VkPipelineInputAssemblyStateCreateInfo] :: VkPipelineInputAssemblyStateCreateInfo -> VkBool32 data VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo :: VkStructureType -> Ptr Void -> VkPipelineTessellationStateCreateFlags -> Word32 -> VkPipelineTessellationStateCreateInfo [$sel:vkSType:VkPipelineTessellationStateCreateInfo] :: VkPipelineTessellationStateCreateInfo -> VkStructureType [$sel:vkPNext:VkPipelineTessellationStateCreateInfo] :: VkPipelineTessellationStateCreateInfo -> Ptr Void [$sel:vkFlags:VkPipelineTessellationStateCreateInfo] :: VkPipelineTessellationStateCreateInfo -> VkPipelineTessellationStateCreateFlags [$sel:vkPatchControlPoints:VkPipelineTessellationStateCreateInfo] :: VkPipelineTessellationStateCreateInfo -> Word32 data VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo :: VkStructureType -> Ptr Void -> VkPipelineViewportStateCreateFlags -> Word32 -> Ptr VkViewport -> Word32 -> Ptr VkRect2D -> VkPipelineViewportStateCreateInfo [$sel:vkSType:VkPipelineViewportStateCreateInfo] :: VkPipelineViewportStateCreateInfo -> VkStructureType [$sel:vkPNext:VkPipelineViewportStateCreateInfo] :: VkPipelineViewportStateCreateInfo -> Ptr Void [$sel:vkFlags:VkPipelineViewportStateCreateInfo] :: VkPipelineViewportStateCreateInfo -> VkPipelineViewportStateCreateFlags [$sel:vkViewportCount:VkPipelineViewportStateCreateInfo] :: VkPipelineViewportStateCreateInfo -> Word32 [$sel:vkPViewports:VkPipelineViewportStateCreateInfo] :: VkPipelineViewportStateCreateInfo -> Ptr VkViewport [$sel:vkScissorCount:VkPipelineViewportStateCreateInfo] :: VkPipelineViewportStateCreateInfo -> Word32 [$sel:vkPScissors:VkPipelineViewportStateCreateInfo] :: VkPipelineViewportStateCreateInfo -> Ptr VkRect2D data VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo :: VkStructureType -> Ptr Void -> VkPipelineRasterizationStateCreateFlags -> VkBool32 -> VkBool32 -> VkPolygonMode -> VkCullModeFlags -> VkFrontFace -> VkBool32 -> CFloat -> CFloat -> CFloat -> CFloat -> VkPipelineRasterizationStateCreateInfo [$sel:vkSType:VkPipelineRasterizationStateCreateInfo] :: VkPipelineRasterizationStateCreateInfo -> VkStructureType [$sel:vkPNext:VkPipelineRasterizationStateCreateInfo] :: VkPipelineRasterizationStateCreateInfo -> Ptr Void [$sel:vkFlags:VkPipelineRasterizationStateCreateInfo] :: VkPipelineRasterizationStateCreateInfo -> VkPipelineRasterizationStateCreateFlags [$sel:vkDepthClampEnable:VkPipelineRasterizationStateCreateInfo] :: VkPipelineRasterizationStateCreateInfo -> VkBool32 [$sel:vkRasterizerDiscardEnable:VkPipelineRasterizationStateCreateInfo] :: VkPipelineRasterizationStateCreateInfo -> VkBool32 [$sel:vkPolygonMode:VkPipelineRasterizationStateCreateInfo] :: VkPipelineRasterizationStateCreateInfo -> VkPolygonMode [$sel:vkCullMode:VkPipelineRasterizationStateCreateInfo] :: VkPipelineRasterizationStateCreateInfo -> VkCullModeFlags [$sel:vkFrontFace:VkPipelineRasterizationStateCreateInfo] :: VkPipelineRasterizationStateCreateInfo -> VkFrontFace [$sel:vkDepthBiasEnable:VkPipelineRasterizationStateCreateInfo] :: VkPipelineRasterizationStateCreateInfo -> VkBool32 [$sel:vkDepthBiasConstantFactor:VkPipelineRasterizationStateCreateInfo] :: VkPipelineRasterizationStateCreateInfo -> CFloat [$sel:vkDepthBiasClamp:VkPipelineRasterizationStateCreateInfo] :: VkPipelineRasterizationStateCreateInfo -> CFloat [$sel:vkDepthBiasSlopeFactor:VkPipelineRasterizationStateCreateInfo] :: VkPipelineRasterizationStateCreateInfo -> CFloat [$sel:vkLineWidth:VkPipelineRasterizationStateCreateInfo] :: VkPipelineRasterizationStateCreateInfo -> CFloat data VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo :: VkStructureType -> Ptr Void -> VkPipelineMultisampleStateCreateFlags -> VkSampleCountFlagBits -> VkBool32 -> CFloat -> Ptr VkSampleMask -> VkBool32 -> VkBool32 -> VkPipelineMultisampleStateCreateInfo [$sel:vkSType:VkPipelineMultisampleStateCreateInfo] :: VkPipelineMultisampleStateCreateInfo -> VkStructureType [$sel:vkPNext:VkPipelineMultisampleStateCreateInfo] :: VkPipelineMultisampleStateCreateInfo -> Ptr Void [$sel:vkFlags:VkPipelineMultisampleStateCreateInfo] :: VkPipelineMultisampleStateCreateInfo -> VkPipelineMultisampleStateCreateFlags [$sel:vkRasterizationSamples:VkPipelineMultisampleStateCreateInfo] :: VkPipelineMultisampleStateCreateInfo -> VkSampleCountFlagBits [$sel:vkSampleShadingEnable:VkPipelineMultisampleStateCreateInfo] :: VkPipelineMultisampleStateCreateInfo -> VkBool32 [$sel:vkMinSampleShading:VkPipelineMultisampleStateCreateInfo] :: VkPipelineMultisampleStateCreateInfo -> CFloat [$sel:vkPSampleMask:VkPipelineMultisampleStateCreateInfo] :: VkPipelineMultisampleStateCreateInfo -> Ptr VkSampleMask [$sel:vkAlphaToCoverageEnable:VkPipelineMultisampleStateCreateInfo] :: VkPipelineMultisampleStateCreateInfo -> VkBool32 [$sel:vkAlphaToOneEnable:VkPipelineMultisampleStateCreateInfo] :: VkPipelineMultisampleStateCreateInfo -> VkBool32 data VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState :: VkBool32 -> VkBlendFactor -> VkBlendFactor -> VkBlendOp -> VkBlendFactor -> VkBlendFactor -> VkBlendOp -> VkColorComponentFlags -> VkPipelineColorBlendAttachmentState [$sel:vkBlendEnable:VkPipelineColorBlendAttachmentState] :: VkPipelineColorBlendAttachmentState -> VkBool32 [$sel:vkSrcColorBlendFactor:VkPipelineColorBlendAttachmentState] :: VkPipelineColorBlendAttachmentState -> VkBlendFactor [$sel:vkDstColorBlendFactor:VkPipelineColorBlendAttachmentState] :: VkPipelineColorBlendAttachmentState -> VkBlendFactor [$sel:vkColorBlendOp:VkPipelineColorBlendAttachmentState] :: VkPipelineColorBlendAttachmentState -> VkBlendOp [$sel:vkSrcAlphaBlendFactor:VkPipelineColorBlendAttachmentState] :: VkPipelineColorBlendAttachmentState -> VkBlendFactor [$sel:vkDstAlphaBlendFactor:VkPipelineColorBlendAttachmentState] :: VkPipelineColorBlendAttachmentState -> VkBlendFactor [$sel:vkAlphaBlendOp:VkPipelineColorBlendAttachmentState] :: VkPipelineColorBlendAttachmentState -> VkBlendOp [$sel:vkColorWriteMask:VkPipelineColorBlendAttachmentState] :: VkPipelineColorBlendAttachmentState -> VkColorComponentFlags data VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo :: VkStructureType -> Ptr Void -> VkPipelineColorBlendStateCreateFlags -> VkBool32 -> VkLogicOp -> Word32 -> Ptr VkPipelineColorBlendAttachmentState -> Vec (ToPeano 4) CFloat -> VkPipelineColorBlendStateCreateInfo [$sel:vkSType:VkPipelineColorBlendStateCreateInfo] :: VkPipelineColorBlendStateCreateInfo -> VkStructureType [$sel:vkPNext:VkPipelineColorBlendStateCreateInfo] :: VkPipelineColorBlendStateCreateInfo -> Ptr Void [$sel:vkFlags:VkPipelineColorBlendStateCreateInfo] :: VkPipelineColorBlendStateCreateInfo -> VkPipelineColorBlendStateCreateFlags [$sel:vkLogicOpEnable:VkPipelineColorBlendStateCreateInfo] :: VkPipelineColorBlendStateCreateInfo -> VkBool32 [$sel:vkLogicOp:VkPipelineColorBlendStateCreateInfo] :: VkPipelineColorBlendStateCreateInfo -> VkLogicOp [$sel:vkAttachmentCount:VkPipelineColorBlendStateCreateInfo] :: VkPipelineColorBlendStateCreateInfo -> Word32 [$sel:vkPAttachments:VkPipelineColorBlendStateCreateInfo] :: VkPipelineColorBlendStateCreateInfo -> Ptr VkPipelineColorBlendAttachmentState [$sel:vkBlendConstants:VkPipelineColorBlendStateCreateInfo] :: VkPipelineColorBlendStateCreateInfo -> Vec (ToPeano 4) CFloat data VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo :: VkStructureType -> Ptr Void -> VkPipelineDynamicStateCreateFlags -> Word32 -> Ptr VkDynamicState -> VkPipelineDynamicStateCreateInfo [$sel:vkSType:VkPipelineDynamicStateCreateInfo] :: VkPipelineDynamicStateCreateInfo -> VkStructureType [$sel:vkPNext:VkPipelineDynamicStateCreateInfo] :: VkPipelineDynamicStateCreateInfo -> Ptr Void [$sel:vkFlags:VkPipelineDynamicStateCreateInfo] :: VkPipelineDynamicStateCreateInfo -> VkPipelineDynamicStateCreateFlags [$sel:vkDynamicStateCount:VkPipelineDynamicStateCreateInfo] :: VkPipelineDynamicStateCreateInfo -> Word32 [$sel:vkPDynamicStates:VkPipelineDynamicStateCreateInfo] :: VkPipelineDynamicStateCreateInfo -> Ptr VkDynamicState data VkStencilOpState VkStencilOpState :: VkStencilOp -> VkStencilOp -> VkStencilOp -> VkCompareOp -> Word32 -> Word32 -> Word32 -> VkStencilOpState [$sel:vkFailOp:VkStencilOpState] :: VkStencilOpState -> VkStencilOp [$sel:vkPassOp:VkStencilOpState] :: VkStencilOpState -> VkStencilOp [$sel:vkDepthFailOp:VkStencilOpState] :: VkStencilOpState -> VkStencilOp [$sel:vkCompareOp:VkStencilOpState] :: VkStencilOpState -> VkCompareOp [$sel:vkCompareMask:VkStencilOpState] :: VkStencilOpState -> Word32 [$sel:vkWriteMask:VkStencilOpState] :: VkStencilOpState -> Word32 [$sel:vkReference:VkStencilOpState] :: VkStencilOpState -> Word32 data VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo :: VkStructureType -> Ptr Void -> VkPipelineDepthStencilStateCreateFlags -> VkBool32 -> VkBool32 -> VkCompareOp -> VkBool32 -> VkBool32 -> VkStencilOpState -> VkStencilOpState -> CFloat -> CFloat -> VkPipelineDepthStencilStateCreateInfo [$sel:vkSType:VkPipelineDepthStencilStateCreateInfo] :: VkPipelineDepthStencilStateCreateInfo -> VkStructureType [$sel:vkPNext:VkPipelineDepthStencilStateCreateInfo] :: VkPipelineDepthStencilStateCreateInfo -> Ptr Void [$sel:vkFlags:VkPipelineDepthStencilStateCreateInfo] :: VkPipelineDepthStencilStateCreateInfo -> VkPipelineDepthStencilStateCreateFlags [$sel:vkDepthTestEnable:VkPipelineDepthStencilStateCreateInfo] :: VkPipelineDepthStencilStateCreateInfo -> VkBool32 [$sel:vkDepthWriteEnable:VkPipelineDepthStencilStateCreateInfo] :: VkPipelineDepthStencilStateCreateInfo -> VkBool32 [$sel:vkDepthCompareOp:VkPipelineDepthStencilStateCreateInfo] :: VkPipelineDepthStencilStateCreateInfo -> VkCompareOp [$sel:vkDepthBoundsTestEnable:VkPipelineDepthStencilStateCreateInfo] :: VkPipelineDepthStencilStateCreateInfo -> VkBool32 [$sel:vkStencilTestEnable:VkPipelineDepthStencilStateCreateInfo] :: VkPipelineDepthStencilStateCreateInfo -> VkBool32 [$sel:vkFront:VkPipelineDepthStencilStateCreateInfo] :: VkPipelineDepthStencilStateCreateInfo -> VkStencilOpState [$sel:vkBack:VkPipelineDepthStencilStateCreateInfo] :: VkPipelineDepthStencilStateCreateInfo -> VkStencilOpState [$sel:vkMinDepthBounds:VkPipelineDepthStencilStateCreateInfo] :: VkPipelineDepthStencilStateCreateInfo -> CFloat [$sel:vkMaxDepthBounds:VkPipelineDepthStencilStateCreateInfo] :: VkPipelineDepthStencilStateCreateInfo -> CFloat data VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo :: VkStructureType -> Ptr Void -> VkPipelineCreateFlags -> Word32 -> Ptr VkPipelineShaderStageCreateInfo -> Ptr VkPipelineVertexInputStateCreateInfo -> Ptr VkPipelineInputAssemblyStateCreateInfo -> Ptr VkPipelineTessellationStateCreateInfo -> Ptr VkPipelineViewportStateCreateInfo -> Ptr VkPipelineRasterizationStateCreateInfo -> Ptr VkPipelineMultisampleStateCreateInfo -> Ptr VkPipelineDepthStencilStateCreateInfo -> Ptr VkPipelineColorBlendStateCreateInfo -> Ptr VkPipelineDynamicStateCreateInfo -> VkPipelineLayout -> VkRenderPass -> Word32 -> VkPipeline -> Int32 -> VkGraphicsPipelineCreateInfo [$sel:vkSType:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> VkStructureType [$sel:vkPNext:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> Ptr Void [$sel:vkFlags:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> VkPipelineCreateFlags [$sel:vkStageCount:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> Word32 [$sel:vkPStages:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> Ptr VkPipelineShaderStageCreateInfo [$sel:vkPVertexInputState:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> Ptr VkPipelineVertexInputStateCreateInfo [$sel:vkPInputAssemblyState:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> Ptr VkPipelineInputAssemblyStateCreateInfo [$sel:vkPTessellationState:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> Ptr VkPipelineTessellationStateCreateInfo [$sel:vkPViewportState:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> Ptr VkPipelineViewportStateCreateInfo [$sel:vkPRasterizationState:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> Ptr VkPipelineRasterizationStateCreateInfo [$sel:vkPMultisampleState:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> Ptr VkPipelineMultisampleStateCreateInfo [$sel:vkPDepthStencilState:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> Ptr VkPipelineDepthStencilStateCreateInfo [$sel:vkPColorBlendState:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> Ptr VkPipelineColorBlendStateCreateInfo [$sel:vkPDynamicState:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> Ptr VkPipelineDynamicStateCreateInfo [$sel:vkLayout:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> VkPipelineLayout [$sel:vkRenderPass:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> VkRenderPass [$sel:vkSubpass:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> Word32 [$sel:vkBasePipelineHandle:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> VkPipeline [$sel:vkBasePipelineIndex:VkGraphicsPipelineCreateInfo] :: VkGraphicsPipelineCreateInfo -> Int32 data VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo :: VkStructureType -> Ptr Void -> VkPipelineCacheCreateFlags -> CSize -> Ptr Void -> VkPipelineCacheCreateInfo [$sel:vkSType:VkPipelineCacheCreateInfo] :: VkPipelineCacheCreateInfo -> VkStructureType [$sel:vkPNext:VkPipelineCacheCreateInfo] :: VkPipelineCacheCreateInfo -> Ptr Void [$sel:vkFlags:VkPipelineCacheCreateInfo] :: VkPipelineCacheCreateInfo -> VkPipelineCacheCreateFlags [$sel:vkInitialDataSize:VkPipelineCacheCreateInfo] :: VkPipelineCacheCreateInfo -> CSize [$sel:vkPInitialData:VkPipelineCacheCreateInfo] :: VkPipelineCacheCreateInfo -> Ptr Void data VkPushConstantRange VkPushConstantRange :: VkShaderStageFlags -> Word32 -> Word32 -> VkPushConstantRange [$sel:vkStageFlags:VkPushConstantRange] :: VkPushConstantRange -> VkShaderStageFlags [$sel:vkOffset:VkPushConstantRange] :: VkPushConstantRange -> Word32 [$sel:vkSize:VkPushConstantRange] :: VkPushConstantRange -> Word32 data VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo :: VkStructureType -> Ptr Void -> VkPipelineLayoutCreateFlags -> Word32 -> Ptr VkDescriptorSetLayout -> Word32 -> Ptr VkPushConstantRange -> VkPipelineLayoutCreateInfo [$sel:vkSType:VkPipelineLayoutCreateInfo] :: VkPipelineLayoutCreateInfo -> VkStructureType [$sel:vkPNext:VkPipelineLayoutCreateInfo] :: VkPipelineLayoutCreateInfo -> Ptr Void [$sel:vkFlags:VkPipelineLayoutCreateInfo] :: VkPipelineLayoutCreateInfo -> VkPipelineLayoutCreateFlags [$sel:vkSetLayoutCount:VkPipelineLayoutCreateInfo] :: VkPipelineLayoutCreateInfo -> Word32 [$sel:vkPSetLayouts:VkPipelineLayoutCreateInfo] :: VkPipelineLayoutCreateInfo -> Ptr VkDescriptorSetLayout [$sel:vkPushConstantRangeCount:VkPipelineLayoutCreateInfo] :: VkPipelineLayoutCreateInfo -> Word32 [$sel:vkPPushConstantRanges:VkPipelineLayoutCreateInfo] :: VkPipelineLayoutCreateInfo -> Ptr VkPushConstantRange data VkSamplerCreateInfo VkSamplerCreateInfo :: VkStructureType -> Ptr Void -> VkSamplerCreateFlags -> VkFilter -> VkFilter -> VkSamplerMipmapMode -> VkSamplerAddressMode -> VkSamplerAddressMode -> VkSamplerAddressMode -> CFloat -> VkBool32 -> CFloat -> VkBool32 -> VkCompareOp -> CFloat -> CFloat -> VkBorderColor -> VkBool32 -> VkSamplerCreateInfo [$sel:vkSType:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> VkStructureType [$sel:vkPNext:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> Ptr Void [$sel:vkFlags:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> VkSamplerCreateFlags [$sel:vkMagFilter:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> VkFilter [$sel:vkMinFilter:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> VkFilter [$sel:vkMipmapMode:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> VkSamplerMipmapMode [$sel:vkAddressModeU:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> VkSamplerAddressMode [$sel:vkAddressModeV:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> VkSamplerAddressMode [$sel:vkAddressModeW:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> VkSamplerAddressMode [$sel:vkMipLodBias:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> CFloat [$sel:vkAnisotropyEnable:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> VkBool32 [$sel:vkMaxAnisotropy:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> CFloat [$sel:vkCompareEnable:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> VkBool32 [$sel:vkCompareOp:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> VkCompareOp [$sel:vkMinLod:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> CFloat [$sel:vkMaxLod:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> CFloat [$sel:vkBorderColor:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> VkBorderColor [$sel:vkUnnormalizedCoordinates:VkSamplerCreateInfo] :: VkSamplerCreateInfo -> VkBool32 data VkCommandPoolCreateInfo VkCommandPoolCreateInfo :: VkStructureType -> Ptr Void -> VkCommandPoolCreateFlags -> Word32 -> VkCommandPoolCreateInfo [$sel:vkSType:VkCommandPoolCreateInfo] :: VkCommandPoolCreateInfo -> VkStructureType [$sel:vkPNext:VkCommandPoolCreateInfo] :: VkCommandPoolCreateInfo -> Ptr Void [$sel:vkFlags:VkCommandPoolCreateInfo] :: VkCommandPoolCreateInfo -> VkCommandPoolCreateFlags [$sel:vkQueueFamilyIndex:VkCommandPoolCreateInfo] :: VkCommandPoolCreateInfo -> Word32 data VkCommandBufferAllocateInfo VkCommandBufferAllocateInfo :: VkStructureType -> Ptr Void -> VkCommandPool -> VkCommandBufferLevel -> Word32 -> VkCommandBufferAllocateInfo [$sel:vkSType:VkCommandBufferAllocateInfo] :: VkCommandBufferAllocateInfo -> VkStructureType [$sel:vkPNext:VkCommandBufferAllocateInfo] :: VkCommandBufferAllocateInfo -> Ptr Void [$sel:vkCommandPool:VkCommandBufferAllocateInfo] :: VkCommandBufferAllocateInfo -> VkCommandPool [$sel:vkLevel:VkCommandBufferAllocateInfo] :: VkCommandBufferAllocateInfo -> VkCommandBufferLevel [$sel:vkCommandBufferCount:VkCommandBufferAllocateInfo] :: VkCommandBufferAllocateInfo -> Word32 data VkCommandBufferInheritanceInfo VkCommandBufferInheritanceInfo :: VkStructureType -> Ptr Void -> VkRenderPass -> Word32 -> VkFramebuffer -> VkBool32 -> VkQueryControlFlags -> VkQueryPipelineStatisticFlags -> VkCommandBufferInheritanceInfo [$sel:vkSType:VkCommandBufferInheritanceInfo] :: VkCommandBufferInheritanceInfo -> VkStructureType [$sel:vkPNext:VkCommandBufferInheritanceInfo] :: VkCommandBufferInheritanceInfo -> Ptr Void [$sel:vkRenderPass:VkCommandBufferInheritanceInfo] :: VkCommandBufferInheritanceInfo -> VkRenderPass [$sel:vkSubpass:VkCommandBufferInheritanceInfo] :: VkCommandBufferInheritanceInfo -> Word32 [$sel:vkFramebuffer:VkCommandBufferInheritanceInfo] :: VkCommandBufferInheritanceInfo -> VkFramebuffer [$sel:vkOcclusionQueryEnable:VkCommandBufferInheritanceInfo] :: VkCommandBufferInheritanceInfo -> VkBool32 [$sel:vkQueryFlags:VkCommandBufferInheritanceInfo] :: VkCommandBufferInheritanceInfo -> VkQueryControlFlags [$sel:vkPipelineStatistics:VkCommandBufferInheritanceInfo] :: VkCommandBufferInheritanceInfo -> VkQueryPipelineStatisticFlags data VkCommandBufferBeginInfo VkCommandBufferBeginInfo :: VkStructureType -> Ptr Void -> VkCommandBufferUsageFlags -> Ptr VkCommandBufferInheritanceInfo -> VkCommandBufferBeginInfo [$sel:vkSType:VkCommandBufferBeginInfo] :: VkCommandBufferBeginInfo -> VkStructureType [$sel:vkPNext:VkCommandBufferBeginInfo] :: VkCommandBufferBeginInfo -> Ptr Void [$sel:vkFlags:VkCommandBufferBeginInfo] :: VkCommandBufferBeginInfo -> VkCommandBufferUsageFlags [$sel:vkPInheritanceInfo:VkCommandBufferBeginInfo] :: VkCommandBufferBeginInfo -> Ptr VkCommandBufferInheritanceInfo data VkRenderPassBeginInfo VkRenderPassBeginInfo :: VkStructureType -> Ptr Void -> VkRenderPass -> VkFramebuffer -> VkRect2D -> Word32 -> Ptr VkClearValue -> VkRenderPassBeginInfo [$sel:vkSType:VkRenderPassBeginInfo] :: VkRenderPassBeginInfo -> VkStructureType [$sel:vkPNext:VkRenderPassBeginInfo] :: VkRenderPassBeginInfo -> Ptr Void [$sel:vkRenderPass:VkRenderPassBeginInfo] :: VkRenderPassBeginInfo -> VkRenderPass [$sel:vkFramebuffer:VkRenderPassBeginInfo] :: VkRenderPassBeginInfo -> VkFramebuffer [$sel:vkRenderArea:VkRenderPassBeginInfo] :: VkRenderPassBeginInfo -> VkRect2D [$sel:vkClearValueCount:VkRenderPassBeginInfo] :: VkRenderPassBeginInfo -> Word32 [$sel:vkPClearValues:VkRenderPassBeginInfo] :: VkRenderPassBeginInfo -> Ptr VkClearValue data VkClearDepthStencilValue VkClearDepthStencilValue :: CFloat -> Word32 -> VkClearDepthStencilValue [$sel:vkDepth:VkClearDepthStencilValue] :: VkClearDepthStencilValue -> CFloat [$sel:vkStencil:VkClearDepthStencilValue] :: VkClearDepthStencilValue -> Word32 data VkClearAttachment VkClearAttachment :: VkImageAspectFlags -> Word32 -> VkClearValue -> VkClearAttachment [$sel:vkAspectMask:VkClearAttachment] :: VkClearAttachment -> VkImageAspectFlags [$sel:vkColorAttachment:VkClearAttachment] :: VkClearAttachment -> Word32 [$sel:vkClearValue:VkClearAttachment] :: VkClearAttachment -> VkClearValue data VkAttachmentDescription VkAttachmentDescription :: VkAttachmentDescriptionFlags -> VkFormat -> VkSampleCountFlagBits -> VkAttachmentLoadOp -> VkAttachmentStoreOp -> VkAttachmentLoadOp -> VkAttachmentStoreOp -> VkImageLayout -> VkImageLayout -> VkAttachmentDescription [$sel:vkFlags:VkAttachmentDescription] :: VkAttachmentDescription -> VkAttachmentDescriptionFlags [$sel:vkFormat:VkAttachmentDescription] :: VkAttachmentDescription -> VkFormat [$sel:vkSamples:VkAttachmentDescription] :: VkAttachmentDescription -> VkSampleCountFlagBits [$sel:vkLoadOp:VkAttachmentDescription] :: VkAttachmentDescription -> VkAttachmentLoadOp [$sel:vkStoreOp:VkAttachmentDescription] :: VkAttachmentDescription -> VkAttachmentStoreOp [$sel:vkStencilLoadOp:VkAttachmentDescription] :: VkAttachmentDescription -> VkAttachmentLoadOp [$sel:vkStencilStoreOp:VkAttachmentDescription] :: VkAttachmentDescription -> VkAttachmentStoreOp [$sel:vkInitialLayout:VkAttachmentDescription] :: VkAttachmentDescription -> VkImageLayout [$sel:vkFinalLayout:VkAttachmentDescription] :: VkAttachmentDescription -> VkImageLayout data VkAttachmentReference VkAttachmentReference :: Word32 -> VkImageLayout -> VkAttachmentReference [$sel:vkAttachment:VkAttachmentReference] :: VkAttachmentReference -> Word32 [$sel:vkLayout:VkAttachmentReference] :: VkAttachmentReference -> VkImageLayout data VkSubpassDescription VkSubpassDescription :: VkSubpassDescriptionFlags -> VkPipelineBindPoint -> Word32 -> Ptr VkAttachmentReference -> Word32 -> Ptr VkAttachmentReference -> Ptr VkAttachmentReference -> Ptr VkAttachmentReference -> Word32 -> Ptr Word32 -> VkSubpassDescription [$sel:vkFlags:VkSubpassDescription] :: VkSubpassDescription -> VkSubpassDescriptionFlags [$sel:vkPipelineBindPoint:VkSubpassDescription] :: VkSubpassDescription -> VkPipelineBindPoint [$sel:vkInputAttachmentCount:VkSubpassDescription] :: VkSubpassDescription -> Word32 [$sel:vkPInputAttachments:VkSubpassDescription] :: VkSubpassDescription -> Ptr VkAttachmentReference [$sel:vkColorAttachmentCount:VkSubpassDescription] :: VkSubpassDescription -> Word32 [$sel:vkPColorAttachments:VkSubpassDescription] :: VkSubpassDescription -> Ptr VkAttachmentReference [$sel:vkPResolveAttachments:VkSubpassDescription] :: VkSubpassDescription -> Ptr VkAttachmentReference [$sel:vkPDepthStencilAttachment:VkSubpassDescription] :: VkSubpassDescription -> Ptr VkAttachmentReference [$sel:vkPreserveAttachmentCount:VkSubpassDescription] :: VkSubpassDescription -> Word32 [$sel:vkPPreserveAttachments:VkSubpassDescription] :: VkSubpassDescription -> Ptr Word32 data VkSubpassDependency VkSubpassDependency :: Word32 -> Word32 -> VkPipelineStageFlags -> VkPipelineStageFlags -> VkAccessFlags -> VkAccessFlags -> VkDependencyFlags -> VkSubpassDependency [$sel:vkSrcSubpass:VkSubpassDependency] :: VkSubpassDependency -> Word32 [$sel:vkDstSubpass:VkSubpassDependency] :: VkSubpassDependency -> Word32 [$sel:vkSrcStageMask:VkSubpassDependency] :: VkSubpassDependency -> VkPipelineStageFlags [$sel:vkDstStageMask:VkSubpassDependency] :: VkSubpassDependency -> VkPipelineStageFlags [$sel:vkSrcAccessMask:VkSubpassDependency] :: VkSubpassDependency -> VkAccessFlags [$sel:vkDstAccessMask:VkSubpassDependency] :: VkSubpassDependency -> VkAccessFlags [$sel:vkDependencyFlags:VkSubpassDependency] :: VkSubpassDependency -> VkDependencyFlags data VkRenderPassCreateInfo VkRenderPassCreateInfo :: VkStructureType -> Ptr Void -> VkRenderPassCreateFlags -> Word32 -> Ptr VkAttachmentDescription -> Word32 -> Ptr VkSubpassDescription -> Word32 -> Ptr VkSubpassDependency -> VkRenderPassCreateInfo [$sel:vkSType:VkRenderPassCreateInfo] :: VkRenderPassCreateInfo -> VkStructureType [$sel:vkPNext:VkRenderPassCreateInfo] :: VkRenderPassCreateInfo -> Ptr Void [$sel:vkFlags:VkRenderPassCreateInfo] :: VkRenderPassCreateInfo -> VkRenderPassCreateFlags [$sel:vkAttachmentCount:VkRenderPassCreateInfo] :: VkRenderPassCreateInfo -> Word32 [$sel:vkPAttachments:VkRenderPassCreateInfo] :: VkRenderPassCreateInfo -> Ptr VkAttachmentDescription [$sel:vkSubpassCount:VkRenderPassCreateInfo] :: VkRenderPassCreateInfo -> Word32 [$sel:vkPSubpasses:VkRenderPassCreateInfo] :: VkRenderPassCreateInfo -> Ptr VkSubpassDescription [$sel:vkDependencyCount:VkRenderPassCreateInfo] :: VkRenderPassCreateInfo -> Word32 [$sel:vkPDependencies:VkRenderPassCreateInfo] :: VkRenderPassCreateInfo -> Ptr VkSubpassDependency data VkEventCreateInfo VkEventCreateInfo :: VkStructureType -> Ptr Void -> VkEventCreateFlags -> VkEventCreateInfo [$sel:vkSType:VkEventCreateInfo] :: VkEventCreateInfo -> VkStructureType [$sel:vkPNext:VkEventCreateInfo] :: VkEventCreateInfo -> Ptr Void [$sel:vkFlags:VkEventCreateInfo] :: VkEventCreateInfo -> VkEventCreateFlags data VkFenceCreateInfo VkFenceCreateInfo :: VkStructureType -> Ptr Void -> VkFenceCreateFlags -> VkFenceCreateInfo [$sel:vkSType:VkFenceCreateInfo] :: VkFenceCreateInfo -> VkStructureType [$sel:vkPNext:VkFenceCreateInfo] :: VkFenceCreateInfo -> Ptr Void [$sel:vkFlags:VkFenceCreateInfo] :: VkFenceCreateInfo -> VkFenceCreateFlags data VkPhysicalDeviceFeatures VkPhysicalDeviceFeatures :: VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkPhysicalDeviceFeatures [$sel:vkRobustBufferAccess:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkFullDrawIndexUint:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkImageCubeArray:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkIndependentBlend:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkGeometryShader:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkTessellationShader:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkSampleRateShading:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkDualSrcBlend:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkLogicOp:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkMultiDrawIndirect:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkDrawIndirectFirstInstance:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkDepthClamp:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkDepthBiasClamp:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkFillModeNonSolid:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkDepthBounds:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkWideLines:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkLargePoints:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkAlphaToOne:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkMultiViewport:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkSamplerAnisotropy:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkTextureCompressionETC:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkTextureCompressionASTC_LDR:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkTextureCompressionBC:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkOcclusionQueryPrecise:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkPipelineStatisticsQuery:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkVertexPipelineStoresAndAtomics:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkFragmentStoresAndAtomics:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderTessellationAndGeometryPointSize:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderImageGatherExtended:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderStorageImageExtendedFormats:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderStorageImageMultisample:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderStorageImageReadWithoutFormat:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderStorageImageWriteWithoutFormat:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderUniformBufferArrayDynamicIndexing:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderSampledImageArrayDynamicIndexing:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderStorageBufferArrayDynamicIndexing:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderStorageImageArrayDynamicIndexing:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderClipDistance:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderCullDistance:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderFloat:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderInt:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderInt:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderResourceResidency:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkShaderResourceMinLod:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkSparseBinding:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkSparseResidencyBuffer:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkSparseResidencyImage:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkSparseResidencyImage:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkSparseResidency:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkSparseResidency:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkSparseResidency:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkSparseResidency:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkSparseResidencyAliased:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkVariableMultisampleRate:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 [$sel:vkInheritedQueries:VkPhysicalDeviceFeatures] :: VkPhysicalDeviceFeatures -> VkBool32 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties :: VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkBool32 -> VkPhysicalDeviceSparseProperties [$sel:vkResidencyStandard:VkPhysicalDeviceSparseProperties] :: VkPhysicalDeviceSparseProperties -> VkBool32 [$sel:vkResidencyStandard:VkPhysicalDeviceSparseProperties] :: VkPhysicalDeviceSparseProperties -> VkBool32 [$sel:vkResidencyStandard:VkPhysicalDeviceSparseProperties] :: VkPhysicalDeviceSparseProperties -> VkBool32 [$sel:vkResidencyAlignedMipSize:VkPhysicalDeviceSparseProperties] :: VkPhysicalDeviceSparseProperties -> VkBool32 [$sel:vkResidencyNonResidentStrict:VkPhysicalDeviceSparseProperties] :: VkPhysicalDeviceSparseProperties -> VkBool32 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits :: Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> VkDeviceSize -> VkDeviceSize -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Vec (ToPeano 3) Word32 -> Word32 -> Vec (ToPeano 3) Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> CFloat -> CFloat -> Word32 -> Vec (ToPeano 2) Word32 -> Vec (ToPeano 2) CFloat -> Word32 -> CSize -> VkDeviceSize -> VkDeviceSize -> VkDeviceSize -> Int32 -> Word32 -> Int32 -> Word32 -> CFloat -> CFloat -> Word32 -> Word32 -> Word32 -> Word32 -> VkSampleCountFlags -> VkSampleCountFlags -> VkSampleCountFlags -> VkSampleCountFlags -> Word32 -> VkSampleCountFlags -> VkSampleCountFlags -> VkSampleCountFlags -> VkSampleCountFlags -> VkSampleCountFlags -> Word32 -> VkBool32 -> CFloat -> Word32 -> Word32 -> Word32 -> Word32 -> Vec (ToPeano 2) CFloat -> Vec (ToPeano 2) CFloat -> CFloat -> CFloat -> VkBool32 -> VkBool32 -> VkDeviceSize -> VkDeviceSize -> VkDeviceSize -> VkPhysicalDeviceLimits [$sel:vkMaxImageDimension:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxImageDimension:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxImageDimension:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxImageDimensionCube:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxImageArrayLayers:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxTexelBufferElements:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxUniformBufferRange:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxStorageBufferRange:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxPushConstantsSize:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxMemoryAllocationCount:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxSamplerAllocationCount:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkBufferImageGranularity:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkDeviceSize [$sel:vkSparseAddressSpaceSize:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkDeviceSize [$sel:vkMaxBoundDescriptorSets:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxPerStageDescriptorSamplers:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxPerStageDescriptorUniformBuffers:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxPerStageDescriptorStorageBuffers:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxPerStageDescriptorSampledImages:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxPerStageDescriptorStorageImages:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxPerStageDescriptorInputAttachments:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxPerStageResources:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxDescriptorSetSamplers:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxDescriptorSetUniformBuffers:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxDescriptorSetUniformBuffersDynamic:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxDescriptorSetStorageBuffers:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxDescriptorSetStorageBuffersDynamic:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxDescriptorSetSampledImages:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxDescriptorSetStorageImages:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxDescriptorSetInputAttachments:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxVertexInputAttributes:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxVertexInputBindings:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxVertexInputAttributeOffset:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxVertexInputBindingStride:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxVertexOutputComponents:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxTessellationGenerationLevel:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxTessellationPatchSize:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxTessellationControlPerVertexInputComponents:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxTessellationControlPerVertexOutputComponents:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxTessellationControlPerPatchOutputComponents:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxTessellationControlTotalOutputComponents:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxTessellationEvaluationInputComponents:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxTessellationEvaluationOutputComponents:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxGeometryShaderInvocations:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxGeometryInputComponents:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxGeometryOutputComponents:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxGeometryOutputVertices:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxGeometryTotalOutputComponents:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxFragmentInputComponents:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxFragmentOutputAttachments:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxFragmentDualSrcAttachments:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxFragmentCombinedOutputResources:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxComputeSharedMemorySize:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxComputeWorkGroupCount:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Vec (ToPeano 3) Word32 [$sel:vkMaxComputeWorkGroupInvocations:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxComputeWorkGroupSize:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Vec (ToPeano 3) Word32 [$sel:vkSubPixelPrecisionBits:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkSubTexelPrecisionBits:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMipmapPrecisionBits:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxDrawIndexedIndexValue:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxDrawIndirectCount:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxSamplerLodBias:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> CFloat [$sel:vkMaxSamplerAnisotropy:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> CFloat [$sel:vkMaxViewports:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxViewportDimensions:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Vec (ToPeano 2) Word32 [$sel:vkViewportBoundsRange:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Vec (ToPeano 2) CFloat [$sel:vkViewportSubPixelBits:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMinMemoryMapAlignment:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> CSize [$sel:vkMinTexelBufferOffsetAlignment:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkDeviceSize [$sel:vkMinUniformBufferOffsetAlignment:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkDeviceSize [$sel:vkMinStorageBufferOffsetAlignment:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkDeviceSize [$sel:vkMinTexelOffset:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Int32 [$sel:vkMaxTexelOffset:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMinTexelGatherOffset:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Int32 [$sel:vkMaxTexelGatherOffset:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMinInterpolationOffset:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> CFloat [$sel:vkMaxInterpolationOffset:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> CFloat [$sel:vkSubPixelInterpolationOffsetBits:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxFramebufferWidth:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxFramebufferHeight:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxFramebufferLayers:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkFramebufferColorSampleCounts:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkSampleCountFlags [$sel:vkFramebufferDepthSampleCounts:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkSampleCountFlags [$sel:vkFramebufferStencilSampleCounts:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkSampleCountFlags [$sel:vkFramebufferNoAttachmentsSampleCounts:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkSampleCountFlags [$sel:vkMaxColorAttachments:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkSampledImageColorSampleCounts:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkSampleCountFlags [$sel:vkSampledImageIntegerSampleCounts:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkSampleCountFlags [$sel:vkSampledImageDepthSampleCounts:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkSampleCountFlags [$sel:vkSampledImageStencilSampleCounts:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkSampleCountFlags [$sel:vkStorageImageSampleCounts:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkSampleCountFlags [$sel:vkMaxSampleMaskWords:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkTimestampComputeAndGraphics:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkBool32 [$sel:vkTimestampPeriod:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> CFloat [$sel:vkMaxClipDistances:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxCullDistances:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkMaxCombinedClipAndCullDistances:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkDiscreteQueuePriorities:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Word32 [$sel:vkPointSizeRange:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Vec (ToPeano 2) CFloat [$sel:vkLineWidthRange:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> Vec (ToPeano 2) CFloat [$sel:vkPointSizeGranularity:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> CFloat [$sel:vkLineWidthGranularity:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> CFloat [$sel:vkStrictLines:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkBool32 [$sel:vkStandardSampleLocations:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkBool32 [$sel:vkOptimalBufferCopyOffsetAlignment:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkDeviceSize [$sel:vkOptimalBufferCopyRowPitchAlignment:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkDeviceSize [$sel:vkNonCoherentAtomSize:VkPhysicalDeviceLimits] :: VkPhysicalDeviceLimits -> VkDeviceSize data VkSemaphoreCreateInfo VkSemaphoreCreateInfo :: VkStructureType -> Ptr Void -> VkSemaphoreCreateFlags -> VkSemaphoreCreateInfo [$sel:vkSType:VkSemaphoreCreateInfo] :: VkSemaphoreCreateInfo -> VkStructureType [$sel:vkPNext:VkSemaphoreCreateInfo] :: VkSemaphoreCreateInfo -> Ptr Void [$sel:vkFlags:VkSemaphoreCreateInfo] :: VkSemaphoreCreateInfo -> VkSemaphoreCreateFlags data VkQueryPoolCreateInfo VkQueryPoolCreateInfo :: VkStructureType -> Ptr Void -> VkQueryPoolCreateFlags -> VkQueryType -> Word32 -> VkQueryPipelineStatisticFlags -> VkQueryPoolCreateInfo [$sel:vkSType:VkQueryPoolCreateInfo] :: VkQueryPoolCreateInfo -> VkStructureType [$sel:vkPNext:VkQueryPoolCreateInfo] :: VkQueryPoolCreateInfo -> Ptr Void [$sel:vkFlags:VkQueryPoolCreateInfo] :: VkQueryPoolCreateInfo -> VkQueryPoolCreateFlags [$sel:vkQueryType:VkQueryPoolCreateInfo] :: VkQueryPoolCreateInfo -> VkQueryType [$sel:vkQueryCount:VkQueryPoolCreateInfo] :: VkQueryPoolCreateInfo -> Word32 [$sel:vkPipelineStatistics:VkQueryPoolCreateInfo] :: VkQueryPoolCreateInfo -> VkQueryPipelineStatisticFlags data VkFramebufferCreateInfo VkFramebufferCreateInfo :: VkStructureType -> Ptr Void -> VkFramebufferCreateFlags -> VkRenderPass -> Word32 -> Ptr VkImageView -> Word32 -> Word32 -> Word32 -> VkFramebufferCreateInfo [$sel:vkSType:VkFramebufferCreateInfo] :: VkFramebufferCreateInfo -> VkStructureType [$sel:vkPNext:VkFramebufferCreateInfo] :: VkFramebufferCreateInfo -> Ptr Void [$sel:vkFlags:VkFramebufferCreateInfo] :: VkFramebufferCreateInfo -> VkFramebufferCreateFlags [$sel:vkRenderPass:VkFramebufferCreateInfo] :: VkFramebufferCreateInfo -> VkRenderPass [$sel:vkAttachmentCount:VkFramebufferCreateInfo] :: VkFramebufferCreateInfo -> Word32 [$sel:vkPAttachments:VkFramebufferCreateInfo] :: VkFramebufferCreateInfo -> Ptr VkImageView [$sel:vkWidth:VkFramebufferCreateInfo] :: VkFramebufferCreateInfo -> Word32 [$sel:vkHeight:VkFramebufferCreateInfo] :: VkFramebufferCreateInfo -> Word32 [$sel:vkLayers:VkFramebufferCreateInfo] :: VkFramebufferCreateInfo -> Word32 data VkDrawIndirectCommand VkDrawIndirectCommand :: Word32 -> Word32 -> Word32 -> Word32 -> VkDrawIndirectCommand [$sel:vkVertexCount:VkDrawIndirectCommand] :: VkDrawIndirectCommand -> Word32 [$sel:vkInstanceCount:VkDrawIndirectCommand] :: VkDrawIndirectCommand -> Word32 [$sel:vkFirstVertex:VkDrawIndirectCommand] :: VkDrawIndirectCommand -> Word32 [$sel:vkFirstInstance:VkDrawIndirectCommand] :: VkDrawIndirectCommand -> Word32 data VkDrawIndexedIndirectCommand VkDrawIndexedIndirectCommand :: Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> VkDrawIndexedIndirectCommand [$sel:vkIndexCount:VkDrawIndexedIndirectCommand] :: VkDrawIndexedIndirectCommand -> Word32 [$sel:vkInstanceCount:VkDrawIndexedIndirectCommand] :: VkDrawIndexedIndirectCommand -> Word32 [$sel:vkFirstIndex:VkDrawIndexedIndirectCommand] :: VkDrawIndexedIndirectCommand -> Word32 [$sel:vkVertexOffset:VkDrawIndexedIndirectCommand] :: VkDrawIndexedIndirectCommand -> Int32 [$sel:vkFirstInstance:VkDrawIndexedIndirectCommand] :: VkDrawIndexedIndirectCommand -> Word32 data VkDispatchIndirectCommand VkDispatchIndirectCommand :: Word32 -> Word32 -> Word32 -> VkDispatchIndirectCommand [$sel:vkX:VkDispatchIndirectCommand] :: VkDispatchIndirectCommand -> Word32 [$sel:vkY:VkDispatchIndirectCommand] :: VkDispatchIndirectCommand -> Word32 [$sel:vkZ:VkDispatchIndirectCommand] :: VkDispatchIndirectCommand -> Word32 data VkSubmitInfo VkSubmitInfo :: VkStructureType -> Ptr Void -> Word32 -> Ptr VkSemaphore -> Ptr VkPipelineStageFlags -> Word32 -> Ptr VkCommandBuffer -> Word32 -> Ptr VkSemaphore -> VkSubmitInfo [$sel:vkSType:VkSubmitInfo] :: VkSubmitInfo -> VkStructureType [$sel:vkPNext:VkSubmitInfo] :: VkSubmitInfo -> Ptr Void [$sel:vkWaitSemaphoreCount:VkSubmitInfo] :: VkSubmitInfo -> Word32 [$sel:vkPWaitSemaphores:VkSubmitInfo] :: VkSubmitInfo -> Ptr VkSemaphore [$sel:vkPWaitDstStageMask:VkSubmitInfo] :: VkSubmitInfo -> Ptr VkPipelineStageFlags [$sel:vkCommandBufferCount:VkSubmitInfo] :: VkSubmitInfo -> Word32 [$sel:vkPCommandBuffers:VkSubmitInfo] :: VkSubmitInfo -> Ptr VkCommandBuffer [$sel:vkSignalSemaphoreCount:VkSubmitInfo] :: VkSubmitInfo -> Word32 [$sel:vkPSignalSemaphores:VkSubmitInfo] :: VkSubmitInfo -> Ptr VkSemaphore data VkDisplayPropertiesKHR VkDisplayPropertiesKHR :: VkDisplayKHR -> Ptr CChar -> VkExtent2D -> VkExtent2D -> VkSurfaceTransformFlagsKHR -> VkBool32 -> VkBool32 -> VkDisplayPropertiesKHR [$sel:vkDisplay:VkDisplayPropertiesKHR] :: VkDisplayPropertiesKHR -> VkDisplayKHR [$sel:vkDisplayName:VkDisplayPropertiesKHR] :: VkDisplayPropertiesKHR -> Ptr CChar [$sel:vkPhysicalDimensions:VkDisplayPropertiesKHR] :: VkDisplayPropertiesKHR -> VkExtent2D [$sel:vkPhysicalResolution:VkDisplayPropertiesKHR] :: VkDisplayPropertiesKHR -> VkExtent2D [$sel:vkSupportedTransforms:VkDisplayPropertiesKHR] :: VkDisplayPropertiesKHR -> VkSurfaceTransformFlagsKHR [$sel:vkPlaneReorderPossible:VkDisplayPropertiesKHR] :: VkDisplayPropertiesKHR -> VkBool32 [$sel:vkPersistentContent:VkDisplayPropertiesKHR] :: VkDisplayPropertiesKHR -> VkBool32 data VkDisplayPlanePropertiesKHR VkDisplayPlanePropertiesKHR :: VkDisplayKHR -> Word32 -> VkDisplayPlanePropertiesKHR [$sel:vkCurrentDisplay:VkDisplayPlanePropertiesKHR] :: VkDisplayPlanePropertiesKHR -> VkDisplayKHR [$sel:vkCurrentStackIndex:VkDisplayPlanePropertiesKHR] :: VkDisplayPlanePropertiesKHR -> Word32 data VkDisplayModeParametersKHR VkDisplayModeParametersKHR :: VkExtent2D -> Word32 -> VkDisplayModeParametersKHR [$sel:vkVisibleRegion:VkDisplayModeParametersKHR] :: VkDisplayModeParametersKHR -> VkExtent2D [$sel:vkRefreshRate:VkDisplayModeParametersKHR] :: VkDisplayModeParametersKHR -> Word32 data VkDisplayModePropertiesKHR VkDisplayModePropertiesKHR :: VkDisplayModeKHR -> VkDisplayModeParametersKHR -> VkDisplayModePropertiesKHR [$sel:vkDisplayMode:VkDisplayModePropertiesKHR] :: VkDisplayModePropertiesKHR -> VkDisplayModeKHR [$sel:vkParameters:VkDisplayModePropertiesKHR] :: VkDisplayModePropertiesKHR -> VkDisplayModeParametersKHR data VkDisplayModeCreateInfoKHR VkDisplayModeCreateInfoKHR :: VkStructureType -> Ptr Void -> VkDisplayModeCreateFlagsKHR -> VkDisplayModeParametersKHR -> VkDisplayModeCreateInfoKHR [$sel:vkSType:VkDisplayModeCreateInfoKHR] :: VkDisplayModeCreateInfoKHR -> VkStructureType [$sel:vkPNext:VkDisplayModeCreateInfoKHR] :: VkDisplayModeCreateInfoKHR -> Ptr Void [$sel:vkFlags:VkDisplayModeCreateInfoKHR] :: VkDisplayModeCreateInfoKHR -> VkDisplayModeCreateFlagsKHR [$sel:vkParameters:VkDisplayModeCreateInfoKHR] :: VkDisplayModeCreateInfoKHR -> VkDisplayModeParametersKHR data VkDisplayPlaneCapabilitiesKHR VkDisplayPlaneCapabilitiesKHR :: VkDisplayPlaneAlphaFlagsKHR -> VkOffset2D -> VkOffset2D -> VkExtent2D -> VkExtent2D -> VkOffset2D -> VkOffset2D -> VkExtent2D -> VkExtent2D -> VkDisplayPlaneCapabilitiesKHR [$sel:vkSupportedAlpha:VkDisplayPlaneCapabilitiesKHR] :: VkDisplayPlaneCapabilitiesKHR -> VkDisplayPlaneAlphaFlagsKHR [$sel:vkMinSrcPosition:VkDisplayPlaneCapabilitiesKHR] :: VkDisplayPlaneCapabilitiesKHR -> VkOffset2D [$sel:vkMaxSrcPosition:VkDisplayPlaneCapabilitiesKHR] :: VkDisplayPlaneCapabilitiesKHR -> VkOffset2D [$sel:vkMinSrcExtent:VkDisplayPlaneCapabilitiesKHR] :: VkDisplayPlaneCapabilitiesKHR -> VkExtent2D [$sel:vkMaxSrcExtent:VkDisplayPlaneCapabilitiesKHR] :: VkDisplayPlaneCapabilitiesKHR -> VkExtent2D [$sel:vkMinDstPosition:VkDisplayPlaneCapabilitiesKHR] :: VkDisplayPlaneCapabilitiesKHR -> VkOffset2D [$sel:vkMaxDstPosition:VkDisplayPlaneCapabilitiesKHR] :: VkDisplayPlaneCapabilitiesKHR -> VkOffset2D [$sel:vkMinDstExtent:VkDisplayPlaneCapabilitiesKHR] :: VkDisplayPlaneCapabilitiesKHR -> VkExtent2D [$sel:vkMaxDstExtent:VkDisplayPlaneCapabilitiesKHR] :: VkDisplayPlaneCapabilitiesKHR -> VkExtent2D data VkDisplaySurfaceCreateInfoKHR VkDisplaySurfaceCreateInfoKHR :: VkStructureType -> Ptr Void -> VkDisplaySurfaceCreateFlagsKHR -> VkDisplayModeKHR -> Word32 -> Word32 -> VkSurfaceTransformFlagBitsKHR -> CFloat -> VkDisplayPlaneAlphaFlagBitsKHR -> VkExtent2D -> VkDisplaySurfaceCreateInfoKHR [$sel:vkSType:VkDisplaySurfaceCreateInfoKHR] :: VkDisplaySurfaceCreateInfoKHR -> VkStructureType [$sel:vkPNext:VkDisplaySurfaceCreateInfoKHR] :: VkDisplaySurfaceCreateInfoKHR -> Ptr Void [$sel:vkFlags:VkDisplaySurfaceCreateInfoKHR] :: VkDisplaySurfaceCreateInfoKHR -> VkDisplaySurfaceCreateFlagsKHR [$sel:vkDisplayMode:VkDisplaySurfaceCreateInfoKHR] :: VkDisplaySurfaceCreateInfoKHR -> VkDisplayModeKHR [$sel:vkPlaneIndex:VkDisplaySurfaceCreateInfoKHR] :: VkDisplaySurfaceCreateInfoKHR -> Word32 [$sel:vkPlaneStackIndex:VkDisplaySurfaceCreateInfoKHR] :: VkDisplaySurfaceCreateInfoKHR -> Word32 [$sel:vkTransform:VkDisplaySurfaceCreateInfoKHR] :: VkDisplaySurfaceCreateInfoKHR -> VkSurfaceTransformFlagBitsKHR [$sel:vkGlobalAlpha:VkDisplaySurfaceCreateInfoKHR] :: VkDisplaySurfaceCreateInfoKHR -> CFloat [$sel:vkAlphaMode:VkDisplaySurfaceCreateInfoKHR] :: VkDisplaySurfaceCreateInfoKHR -> VkDisplayPlaneAlphaFlagBitsKHR [$sel:vkImageExtent:VkDisplaySurfaceCreateInfoKHR] :: VkDisplaySurfaceCreateInfoKHR -> VkExtent2D data VkDisplayPresentInfoKHR VkDisplayPresentInfoKHR :: VkStructureType -> Ptr Void -> VkRect2D -> VkRect2D -> VkBool32 -> VkDisplayPresentInfoKHR [$sel:vkSType:VkDisplayPresentInfoKHR] :: VkDisplayPresentInfoKHR -> VkStructureType [$sel:vkPNext:VkDisplayPresentInfoKHR] :: VkDisplayPresentInfoKHR -> Ptr Void [$sel:vkSrcRect:VkDisplayPresentInfoKHR] :: VkDisplayPresentInfoKHR -> VkRect2D [$sel:vkDstRect:VkDisplayPresentInfoKHR] :: VkDisplayPresentInfoKHR -> VkRect2D [$sel:vkPersistent:VkDisplayPresentInfoKHR] :: VkDisplayPresentInfoKHR -> VkBool32 data VkSurfaceCapabilitiesKHR VkSurfaceCapabilitiesKHR :: Word32 -> Word32 -> VkExtent2D -> VkExtent2D -> VkExtent2D -> Word32 -> VkSurfaceTransformFlagsKHR -> VkSurfaceTransformFlagBitsKHR -> VkCompositeAlphaFlagsKHR -> VkImageUsageFlags -> VkSurfaceCapabilitiesKHR [$sel:vkMinImageCount:VkSurfaceCapabilitiesKHR] :: VkSurfaceCapabilitiesKHR -> Word32 [$sel:vkMaxImageCount:VkSurfaceCapabilitiesKHR] :: VkSurfaceCapabilitiesKHR -> Word32 [$sel:vkCurrentExtent:VkSurfaceCapabilitiesKHR] :: VkSurfaceCapabilitiesKHR -> VkExtent2D [$sel:vkMinImageExtent:VkSurfaceCapabilitiesKHR] :: VkSurfaceCapabilitiesKHR -> VkExtent2D [$sel:vkMaxImageExtent:VkSurfaceCapabilitiesKHR] :: VkSurfaceCapabilitiesKHR -> VkExtent2D [$sel:vkMaxImageArrayLayers:VkSurfaceCapabilitiesKHR] :: VkSurfaceCapabilitiesKHR -> Word32 [$sel:vkSupportedTransforms:VkSurfaceCapabilitiesKHR] :: VkSurfaceCapabilitiesKHR -> VkSurfaceTransformFlagsKHR [$sel:vkCurrentTransform:VkSurfaceCapabilitiesKHR] :: VkSurfaceCapabilitiesKHR -> VkSurfaceTransformFlagBitsKHR [$sel:vkSupportedCompositeAlpha:VkSurfaceCapabilitiesKHR] :: VkSurfaceCapabilitiesKHR -> VkCompositeAlphaFlagsKHR [$sel:vkSupportedUsageFlags:VkSurfaceCapabilitiesKHR] :: VkSurfaceCapabilitiesKHR -> VkImageUsageFlags data VkSurfaceFormatKHR VkSurfaceFormatKHR :: VkFormat -> VkColorSpaceKHR -> VkSurfaceFormatKHR [$sel:vkFormat:VkSurfaceFormatKHR] :: VkSurfaceFormatKHR -> VkFormat [$sel:vkColorSpace:VkSurfaceFormatKHR] :: VkSurfaceFormatKHR -> VkColorSpaceKHR data VkSwapchainCreateInfoKHR VkSwapchainCreateInfoKHR :: VkStructureType -> Ptr Void -> VkSwapchainCreateFlagsKHR -> VkSurfaceKHR -> Word32 -> VkFormat -> VkColorSpaceKHR -> VkExtent2D -> Word32 -> VkImageUsageFlags -> VkSharingMode -> Word32 -> Ptr Word32 -> VkSurfaceTransformFlagBitsKHR -> VkCompositeAlphaFlagBitsKHR -> VkPresentModeKHR -> VkBool32 -> VkSwapchainKHR -> VkSwapchainCreateInfoKHR [$sel:vkSType:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> VkStructureType [$sel:vkPNext:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> Ptr Void [$sel:vkFlags:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> VkSwapchainCreateFlagsKHR [$sel:vkSurface:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> VkSurfaceKHR [$sel:vkMinImageCount:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> Word32 [$sel:vkImageFormat:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> VkFormat [$sel:vkImageColorSpace:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> VkColorSpaceKHR [$sel:vkImageExtent:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> VkExtent2D [$sel:vkImageArrayLayers:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> Word32 [$sel:vkImageUsage:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> VkImageUsageFlags [$sel:vkImageSharingMode:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> VkSharingMode [$sel:vkQueueFamilyIndexCount:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> Word32 [$sel:vkPQueueFamilyIndices:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> Ptr Word32 [$sel:vkPreTransform:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> VkSurfaceTransformFlagBitsKHR [$sel:vkCompositeAlpha:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> VkCompositeAlphaFlagBitsKHR [$sel:vkPresentMode:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> VkPresentModeKHR [$sel:vkClipped:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> VkBool32 [$sel:vkOldSwapchain:VkSwapchainCreateInfoKHR] :: VkSwapchainCreateInfoKHR -> VkSwapchainKHR data VkPresentInfoKHR VkPresentInfoKHR :: VkStructureType -> Ptr Void -> Word32 -> Ptr VkSemaphore -> Word32 -> Ptr VkSwapchainKHR -> Ptr Word32 -> Ptr VkResult -> VkPresentInfoKHR [$sel:vkSType:VkPresentInfoKHR] :: VkPresentInfoKHR -> VkStructureType [$sel:vkPNext:VkPresentInfoKHR] :: VkPresentInfoKHR -> Ptr Void [$sel:vkWaitSemaphoreCount:VkPresentInfoKHR] :: VkPresentInfoKHR -> Word32 [$sel:vkPWaitSemaphores:VkPresentInfoKHR] :: VkPresentInfoKHR -> Ptr VkSemaphore [$sel:vkSwapchainCount:VkPresentInfoKHR] :: VkPresentInfoKHR -> Word32 [$sel:vkPSwapchains:VkPresentInfoKHR] :: VkPresentInfoKHR -> Ptr VkSwapchainKHR [$sel:vkPImageIndices:VkPresentInfoKHR] :: VkPresentInfoKHR -> Ptr Word32 [$sel:vkPResults:VkPresentInfoKHR] :: VkPresentInfoKHR -> Ptr VkResult data VkDebugReportCallbackCreateInfoEXT VkDebugReportCallbackCreateInfoEXT :: VkStructureType -> Ptr Void -> VkDebugReportFlagsEXT -> PFN_vkDebugReportCallbackEXT -> Ptr Void -> VkDebugReportCallbackCreateInfoEXT [$sel:vkSType:VkDebugReportCallbackCreateInfoEXT] :: VkDebugReportCallbackCreateInfoEXT -> VkStructureType [$sel:vkPNext:VkDebugReportCallbackCreateInfoEXT] :: VkDebugReportCallbackCreateInfoEXT -> Ptr Void [$sel:vkFlags:VkDebugReportCallbackCreateInfoEXT] :: VkDebugReportCallbackCreateInfoEXT -> VkDebugReportFlagsEXT [$sel:vkPfnCallback:VkDebugReportCallbackCreateInfoEXT] :: VkDebugReportCallbackCreateInfoEXT -> PFN_vkDebugReportCallbackEXT [$sel:vkPUserData:VkDebugReportCallbackCreateInfoEXT] :: VkDebugReportCallbackCreateInfoEXT -> Ptr Void -- | / Union allowing specification of floating point, integer, or -- unsigned integer color data. Actual value selected is based on -- imageattachment being cleared. data VkClearColorValue VkFloat :: (Vec (ToPeano 4) CFloat) -> VkClearColorValue VkInt :: (Vec (ToPeano 4) Int32) -> VkClearColorValue VkUint :: (Vec (ToPeano 4) Word32) -> VkClearColorValue -- | _Note_: peek is undefined as we wouldn't know which constructor to use -- | // Union allowing specification of color or depth and stencil values. -- Actual value selected is based on attachment being cleared. data VkClearValue VkColor :: VkClearColorValue -> VkClearValue VkDepthStencil :: VkClearDepthStencilValue -> VkClearValue -- | _Note_: peek is undefined as we wouldn't know which constructor to use vkCreateInstance :: Ptr VkInstanceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkInstance -> IO VkResult vkDestroyInstance :: VkInstance -> Ptr VkAllocationCallbacks -> IO () vkEnumeratePhysicalDevices :: VkInstance -> Ptr Word32 -> Ptr VkPhysicalDevice -> IO VkResult vkGetDeviceProcAddr :: VkDevice -> Ptr CChar -> IO PFN_vkVoidFunction vkGetInstanceProcAddr :: VkInstance -> Ptr CChar -> IO PFN_vkVoidFunction vkGetPhysicalDeviceProperties :: VkPhysicalDevice -> Ptr VkPhysicalDeviceProperties -> IO () vkGetPhysicalDeviceQueueFamilyProperties :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkQueueFamilyProperties -> IO () vkGetPhysicalDeviceMemoryProperties :: VkPhysicalDevice -> Ptr VkPhysicalDeviceMemoryProperties -> IO () vkGetPhysicalDeviceFeatures :: VkPhysicalDevice -> Ptr VkPhysicalDeviceFeatures -> IO () vkGetPhysicalDeviceFormatProperties :: VkPhysicalDevice -> VkFormat -> Ptr VkFormatProperties -> IO () vkGetPhysicalDeviceImageFormatProperties :: VkPhysicalDevice -> VkFormat -> VkImageType -> VkImageTiling -> VkImageUsageFlags -> VkImageCreateFlags -> Ptr VkImageFormatProperties -> IO VkResult vkCreateDevice :: VkPhysicalDevice -> Ptr VkDeviceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDevice -> IO VkResult vkDestroyDevice :: VkDevice -> Ptr VkAllocationCallbacks -> IO () vkEnumerateInstanceLayerProperties :: Ptr Word32 -> Ptr VkLayerProperties -> IO VkResult vkEnumerateInstanceExtensionProperties :: Ptr CChar -> Ptr Word32 -> Ptr VkExtensionProperties -> IO VkResult vkEnumerateDeviceLayerProperties :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkLayerProperties -> IO VkResult vkEnumerateDeviceExtensionProperties :: VkPhysicalDevice -> Ptr CChar -> Ptr Word32 -> Ptr VkExtensionProperties -> IO VkResult vkGetDeviceQueue :: VkDevice -> Word32 -> Word32 -> Ptr VkQueue -> IO () vkQueueSubmit :: VkQueue -> Word32 -> Ptr VkSubmitInfo -> VkFence -> IO VkResult vkQueueWaitIdle :: VkQueue -> IO VkResult vkDeviceWaitIdle :: VkDevice -> IO VkResult vkAllocateMemory :: VkDevice -> Ptr VkMemoryAllocateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDeviceMemory -> IO VkResult vkFreeMemory :: VkDevice -> VkDeviceMemory -> Ptr VkAllocationCallbacks -> IO () vkMapMemory :: VkDevice -> VkDeviceMemory -> VkDeviceSize -> VkDeviceSize -> VkMemoryMapFlags -> Ptr (Ptr Void) -> IO VkResult vkUnmapMemory :: VkDevice -> VkDeviceMemory -> IO () vkFlushMappedMemoryRanges :: VkDevice -> Word32 -> Ptr VkMappedMemoryRange -> IO VkResult vkInvalidateMappedMemoryRanges :: VkDevice -> Word32 -> Ptr VkMappedMemoryRange -> IO VkResult vkGetDeviceMemoryCommitment :: VkDevice -> VkDeviceMemory -> Ptr VkDeviceSize -> IO () vkGetBufferMemoryRequirements :: VkDevice -> VkBuffer -> Ptr VkMemoryRequirements -> IO () vkBindBufferMemory :: VkDevice -> VkBuffer -> VkDeviceMemory -> VkDeviceSize -> IO VkResult vkGetImageMemoryRequirements :: VkDevice -> VkImage -> Ptr VkMemoryRequirements -> IO () vkBindImageMemory :: VkDevice -> VkImage -> VkDeviceMemory -> VkDeviceSize -> IO VkResult vkGetImageSparseMemoryRequirements :: VkDevice -> VkImage -> Ptr Word32 -> Ptr VkSparseImageMemoryRequirements -> IO () vkGetPhysicalDeviceSparseImageFormatProperties :: VkPhysicalDevice -> VkFormat -> VkImageType -> VkSampleCountFlagBits -> VkImageUsageFlags -> VkImageTiling -> Ptr Word32 -> Ptr VkSparseImageFormatProperties -> IO () vkQueueBindSparse :: VkQueue -> Word32 -> Ptr VkBindSparseInfo -> VkFence -> IO VkResult vkCreateFence :: VkDevice -> Ptr VkFenceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkFence -> IO VkResult vkDestroyFence :: VkDevice -> VkFence -> Ptr VkAllocationCallbacks -> IO () vkResetFences :: VkDevice -> Word32 -> Ptr VkFence -> IO VkResult vkGetFenceStatus :: VkDevice -> VkFence -> IO VkResult vkWaitForFences :: VkDevice -> Word32 -> Ptr VkFence -> VkBool32 -> Word64 -> IO VkResult vkCreateSemaphore :: VkDevice -> Ptr VkSemaphoreCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSemaphore -> IO VkResult vkDestroySemaphore :: VkDevice -> VkSemaphore -> Ptr VkAllocationCallbacks -> IO () vkCreateEvent :: VkDevice -> Ptr VkEventCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkEvent -> IO VkResult vkDestroyEvent :: VkDevice -> VkEvent -> Ptr VkAllocationCallbacks -> IO () vkGetEventStatus :: VkDevice -> VkEvent -> IO VkResult vkSetEvent :: VkDevice -> VkEvent -> IO VkResult vkResetEvent :: VkDevice -> VkEvent -> IO VkResult vkCreateQueryPool :: VkDevice -> Ptr VkQueryPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkQueryPool -> IO VkResult vkDestroyQueryPool :: VkDevice -> VkQueryPool -> Ptr VkAllocationCallbacks -> IO () vkGetQueryPoolResults :: VkDevice -> VkQueryPool -> Word32 -> Word32 -> CSize -> Ptr Void -> VkDeviceSize -> VkQueryResultFlags -> IO VkResult vkCreateBuffer :: VkDevice -> Ptr VkBufferCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkBuffer -> IO VkResult vkDestroyBuffer :: VkDevice -> VkBuffer -> Ptr VkAllocationCallbacks -> IO () vkCreateBufferView :: VkDevice -> Ptr VkBufferViewCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkBufferView -> IO VkResult vkDestroyBufferView :: VkDevice -> VkBufferView -> Ptr VkAllocationCallbacks -> IO () vkCreateImage :: VkDevice -> Ptr VkImageCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkImage -> IO VkResult vkDestroyImage :: VkDevice -> VkImage -> Ptr VkAllocationCallbacks -> IO () vkGetImageSubresourceLayout :: VkDevice -> VkImage -> Ptr VkImageSubresource -> Ptr VkSubresourceLayout -> IO () vkCreateImageView :: VkDevice -> Ptr VkImageViewCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkImageView -> IO VkResult vkDestroyImageView :: VkDevice -> VkImageView -> Ptr VkAllocationCallbacks -> IO () vkCreateShaderModule :: VkDevice -> Ptr VkShaderModuleCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkShaderModule -> IO VkResult vkDestroyShaderModule :: VkDevice -> VkShaderModule -> Ptr VkAllocationCallbacks -> IO () vkCreatePipelineCache :: VkDevice -> Ptr VkPipelineCacheCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipelineCache -> IO VkResult vkDestroyPipelineCache :: VkDevice -> VkPipelineCache -> Ptr VkAllocationCallbacks -> IO () vkGetPipelineCacheData :: VkDevice -> VkPipelineCache -> Ptr CSize -> Ptr Void -> IO VkResult vkMergePipelineCaches :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkPipelineCache -> IO VkResult vkCreateGraphicsPipelines :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkGraphicsPipelineCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipeline -> IO VkResult vkCreateComputePipelines :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkComputePipelineCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipeline -> IO VkResult vkDestroyPipeline :: VkDevice -> VkPipeline -> Ptr VkAllocationCallbacks -> IO () vkCreatePipelineLayout :: VkDevice -> Ptr VkPipelineLayoutCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipelineLayout -> IO VkResult vkDestroyPipelineLayout :: VkDevice -> VkPipelineLayout -> Ptr VkAllocationCallbacks -> IO () vkCreateSampler :: VkDevice -> Ptr VkSamplerCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSampler -> IO VkResult vkDestroySampler :: VkDevice -> VkSampler -> Ptr VkAllocationCallbacks -> IO () vkCreateDescriptorSetLayout :: VkDevice -> Ptr VkDescriptorSetLayoutCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorSetLayout -> IO VkResult vkDestroyDescriptorSetLayout :: VkDevice -> VkDescriptorSetLayout -> Ptr VkAllocationCallbacks -> IO () vkCreateDescriptorPool :: VkDevice -> Ptr VkDescriptorPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorPool -> IO VkResult vkDestroyDescriptorPool :: VkDevice -> VkDescriptorPool -> Ptr VkAllocationCallbacks -> IO () vkResetDescriptorPool :: VkDevice -> VkDescriptorPool -> VkDescriptorPoolResetFlags -> IO VkResult vkAllocateDescriptorSets :: VkDevice -> Ptr VkDescriptorSetAllocateInfo -> Ptr VkDescriptorSet -> IO VkResult vkFreeDescriptorSets :: VkDevice -> VkDescriptorPool -> Word32 -> Ptr VkDescriptorSet -> IO VkResult vkUpdateDescriptorSets :: VkDevice -> Word32 -> Ptr VkWriteDescriptorSet -> Word32 -> Ptr VkCopyDescriptorSet -> IO () vkCreateFramebuffer :: VkDevice -> Ptr VkFramebufferCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkFramebuffer -> IO VkResult vkDestroyFramebuffer :: VkDevice -> VkFramebuffer -> Ptr VkAllocationCallbacks -> IO () vkCreateRenderPass :: VkDevice -> Ptr VkRenderPassCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkRenderPass -> IO VkResult vkDestroyRenderPass :: VkDevice -> VkRenderPass -> Ptr VkAllocationCallbacks -> IO () vkGetRenderAreaGranularity :: VkDevice -> VkRenderPass -> Ptr VkExtent2D -> IO () vkCreateCommandPool :: VkDevice -> Ptr VkCommandPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkCommandPool -> IO VkResult vkDestroyCommandPool :: VkDevice -> VkCommandPool -> Ptr VkAllocationCallbacks -> IO () vkResetCommandPool :: VkDevice -> VkCommandPool -> VkCommandPoolResetFlags -> IO VkResult vkAllocateCommandBuffers :: VkDevice -> Ptr VkCommandBufferAllocateInfo -> Ptr VkCommandBuffer -> IO VkResult vkFreeCommandBuffers :: VkDevice -> VkCommandPool -> Word32 -> Ptr VkCommandBuffer -> IO () vkBeginCommandBuffer :: VkCommandBuffer -> Ptr VkCommandBufferBeginInfo -> IO VkResult vkEndCommandBuffer :: VkCommandBuffer -> IO VkResult vkResetCommandBuffer :: VkCommandBuffer -> VkCommandBufferResetFlags -> IO VkResult vkCmdBindPipeline :: VkCommandBuffer -> VkPipelineBindPoint -> VkPipeline -> IO () vkCmdSetViewport :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkViewport -> IO () vkCmdSetScissor :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkRect2D -> IO () vkCmdSetLineWidth :: VkCommandBuffer -> CFloat -> IO () vkCmdSetDepthBias :: VkCommandBuffer -> CFloat -> CFloat -> CFloat -> IO () vkCmdSetBlendConstants :: VkCommandBuffer -> Ptr CFloat -> IO () vkCmdSetDepthBounds :: VkCommandBuffer -> CFloat -> CFloat -> IO () vkCmdSetStencilCompareMask :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO () vkCmdSetStencilWriteMask :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO () vkCmdSetStencilReference :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO () vkCmdBindDescriptorSets :: VkCommandBuffer -> VkPipelineBindPoint -> VkPipelineLayout -> Word32 -> Word32 -> Ptr VkDescriptorSet -> Word32 -> Ptr Word32 -> IO () vkCmdBindIndexBuffer :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkIndexType -> IO () vkCmdBindVertexBuffers :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkBuffer -> Ptr VkDeviceSize -> IO () vkCmdDraw :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Word32 -> IO () vkCmdDrawIndexed :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> IO () vkCmdDrawIndirect :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () vkCmdDrawIndexedIndirect :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () vkCmdDispatch :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> IO () vkCmdDispatchIndirect :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> IO () vkCmdCopyBuffer :: VkCommandBuffer -> VkBuffer -> VkBuffer -> Word32 -> Ptr VkBufferCopy -> IO () vkCmdCopyImage :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageCopy -> IO () vkCmdBlitImage :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageBlit -> VkFilter -> IO () vkCmdCopyBufferToImage :: VkCommandBuffer -> VkBuffer -> VkImage -> VkImageLayout -> Word32 -> Ptr VkBufferImageCopy -> IO () vkCmdCopyImageToBuffer :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkBuffer -> Word32 -> Ptr VkBufferImageCopy -> IO () vkCmdUpdateBuffer :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> Ptr Word32 -> IO () vkCmdFillBuffer :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> Word32 -> IO () vkCmdClearColorImage :: VkCommandBuffer -> VkImage -> VkImageLayout -> Ptr VkClearColorValue -> Word32 -> Ptr VkImageSubresourceRange -> IO () vkCmdClearDepthStencilImage :: VkCommandBuffer -> VkImage -> VkImageLayout -> Ptr VkClearDepthStencilValue -> Word32 -> Ptr VkImageSubresourceRange -> IO () vkCmdClearAttachments :: VkCommandBuffer -> Word32 -> Ptr VkClearAttachment -> Word32 -> Ptr VkClearRect -> IO () vkCmdResolveImage :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageResolve -> IO () vkCmdSetEvent :: VkCommandBuffer -> VkEvent -> VkPipelineStageFlags -> IO () vkCmdResetEvent :: VkCommandBuffer -> VkEvent -> VkPipelineStageFlags -> IO () vkCmdWaitEvents :: VkCommandBuffer -> Word32 -> Ptr VkEvent -> VkPipelineStageFlags -> VkPipelineStageFlags -> Word32 -> Ptr VkMemoryBarrier -> Word32 -> Ptr VkBufferMemoryBarrier -> Word32 -> Ptr VkImageMemoryBarrier -> IO () vkCmdPipelineBarrier :: VkCommandBuffer -> VkPipelineStageFlags -> VkPipelineStageFlags -> VkDependencyFlags -> Word32 -> Ptr VkMemoryBarrier -> Word32 -> Ptr VkBufferMemoryBarrier -> Word32 -> Ptr VkImageMemoryBarrier -> IO () vkCmdBeginQuery :: VkCommandBuffer -> VkQueryPool -> Word32 -> VkQueryControlFlags -> IO () vkCmdEndQuery :: VkCommandBuffer -> VkQueryPool -> Word32 -> IO () vkCmdResetQueryPool :: VkCommandBuffer -> VkQueryPool -> Word32 -> Word32 -> IO () vkCmdWriteTimestamp :: VkCommandBuffer -> VkPipelineStageFlagBits -> VkQueryPool -> Word32 -> IO () vkCmdCopyQueryPoolResults :: VkCommandBuffer -> VkQueryPool -> Word32 -> Word32 -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> VkQueryResultFlags -> IO () vkCmdPushConstants :: VkCommandBuffer -> VkPipelineLayout -> VkShaderStageFlags -> Word32 -> Word32 -> Ptr Void -> IO () vkCmdBeginRenderPass :: VkCommandBuffer -> Ptr VkRenderPassBeginInfo -> VkSubpassContents -> IO () vkCmdNextSubpass :: VkCommandBuffer -> VkSubpassContents -> IO () vkCmdEndRenderPass :: VkCommandBuffer -> IO () vkCmdExecuteCommands :: VkCommandBuffer -> Word32 -> Ptr VkCommandBuffer -> IO () vkGetPhysicalDeviceDisplayPropertiesKHR :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkDisplayPropertiesKHR -> IO VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkDisplayPlanePropertiesKHR -> IO VkResult vkGetDisplayPlaneSupportedDisplaysKHR :: VkPhysicalDevice -> Word32 -> Ptr Word32 -> Ptr VkDisplayKHR -> IO VkResult vkGetDisplayModePropertiesKHR :: VkPhysicalDevice -> VkDisplayKHR -> Ptr Word32 -> Ptr VkDisplayModePropertiesKHR -> IO VkResult vkCreateDisplayModeKHR :: VkPhysicalDevice -> VkDisplayKHR -> Ptr VkDisplayModeCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkDisplayModeKHR -> IO VkResult vkGetDisplayPlaneCapabilitiesKHR :: VkPhysicalDevice -> VkDisplayModeKHR -> Word32 -> Ptr VkDisplayPlaneCapabilitiesKHR -> IO VkResult vkCreateDisplayPlaneSurfaceKHR :: VkInstance -> Ptr VkDisplaySurfaceCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSurfaceKHR -> IO VkResult vkCreateSharedSwapchainsKHR :: VkDevice -> Word32 -> Ptr VkSwapchainCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSwapchainKHR -> IO VkResult vkDestroySurfaceKHR :: VkInstance -> VkSurfaceKHR -> Ptr VkAllocationCallbacks -> IO () vkGetPhysicalDeviceSurfaceSupportKHR :: VkPhysicalDevice -> Word32 -> VkSurfaceKHR -> Ptr VkBool32 -> IO VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr VkSurfaceCapabilitiesKHR -> IO VkResult vkGetPhysicalDeviceSurfaceFormatsKHR :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkSurfaceFormatKHR -> IO VkResult vkGetPhysicalDeviceSurfacePresentModesKHR :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkPresentModeKHR -> IO VkResult vkCreateSwapchainKHR :: VkDevice -> Ptr VkSwapchainCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSwapchainKHR -> IO VkResult vkDestroySwapchainKHR :: VkDevice -> VkSwapchainKHR -> Ptr VkAllocationCallbacks -> IO () vkGetSwapchainImagesKHR :: VkDevice -> VkSwapchainKHR -> Ptr Word32 -> Ptr VkImage -> IO VkResult vkAcquireNextImageKHR :: VkDevice -> VkSwapchainKHR -> Word64 -> VkSemaphore -> VkFence -> Ptr Word32 -> IO VkResult vkQueuePresentKHR :: VkQueue -> Ptr VkPresentInfoKHR -> IO VkResult vkGetPhysicalDeviceWin32PresentationSupportKHR :: VkPhysicalDevice -> Word32 -> IO VkBool32 vkCreateDebugReportCallbackEXT :: VkInstance -> Ptr VkDebugReportCallbackCreateInfoEXT -> Ptr VkAllocationCallbacks -> Ptr VkDebugReportCallbackEXT -> IO VkResult vkDestroyDebugReportCallbackEXT :: VkInstance -> VkDebugReportCallbackEXT -> Ptr VkAllocationCallbacks -> IO () vkDebugReportMessageEXT :: VkInstance -> VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> Ptr CChar -> Ptr CChar -> IO () instance GHC.Classes.Eq Graphics.Vulkan.VkRenderPassBeginInfo instance GHC.Classes.Eq Graphics.Vulkan.VkClearAttachment instance GHC.Classes.Eq Graphics.Vulkan.VkClearValue instance GHC.Classes.Eq Graphics.Vulkan.VkClearColorValue instance GHC.Classes.Eq Graphics.Vulkan.VkDebugReportCallbackCreateInfoEXT instance GHC.Classes.Eq Graphics.Vulkan.VkPresentInfoKHR instance GHC.Classes.Eq Graphics.Vulkan.VkSwapchainCreateInfoKHR instance GHC.Classes.Eq Graphics.Vulkan.VkSurfaceFormatKHR instance GHC.Classes.Eq Graphics.Vulkan.VkSurfaceCapabilitiesKHR instance GHC.Classes.Eq Graphics.Vulkan.VkDisplayPresentInfoKHR instance GHC.Classes.Eq Graphics.Vulkan.VkDisplaySurfaceCreateInfoKHR instance GHC.Classes.Eq Graphics.Vulkan.VkDisplayPlaneCapabilitiesKHR instance GHC.Classes.Eq Graphics.Vulkan.VkDisplayModeCreateInfoKHR instance GHC.Classes.Eq Graphics.Vulkan.VkDisplayModePropertiesKHR instance GHC.Classes.Eq Graphics.Vulkan.VkDisplayModeParametersKHR instance GHC.Classes.Eq Graphics.Vulkan.VkDisplayPlanePropertiesKHR instance GHC.Classes.Eq Graphics.Vulkan.VkDisplayPropertiesKHR instance GHC.Classes.Eq Graphics.Vulkan.VkSubmitInfo instance GHC.Classes.Eq Graphics.Vulkan.VkDispatchIndirectCommand instance GHC.Classes.Eq Graphics.Vulkan.VkDrawIndexedIndirectCommand instance GHC.Classes.Eq Graphics.Vulkan.VkDrawIndirectCommand instance GHC.Classes.Eq Graphics.Vulkan.VkFramebufferCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkQueryPoolCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkSemaphoreCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkPhysicalDeviceProperties instance GHC.Classes.Eq Graphics.Vulkan.VkPhysicalDeviceLimits instance GHC.Classes.Eq Graphics.Vulkan.VkPhysicalDeviceSparseProperties instance GHC.Classes.Eq Graphics.Vulkan.VkDeviceCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkPhysicalDeviceFeatures instance GHC.Classes.Eq Graphics.Vulkan.VkFenceCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkEventCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkRenderPassCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkSubpassDependency instance GHC.Classes.Eq Graphics.Vulkan.VkSubpassDescription instance GHC.Classes.Eq Graphics.Vulkan.VkAttachmentReference instance GHC.Classes.Eq Graphics.Vulkan.VkAttachmentDescription instance GHC.Classes.Eq Graphics.Vulkan.VkClearDepthStencilValue instance GHC.Classes.Eq Graphics.Vulkan.VkCommandBufferBeginInfo instance GHC.Classes.Eq Graphics.Vulkan.VkCommandBufferInheritanceInfo instance GHC.Classes.Eq Graphics.Vulkan.VkCommandBufferAllocateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkCommandPoolCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkSamplerCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineLayoutCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkPushConstantRange instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineCacheCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkGraphicsPipelineCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineDepthStencilStateCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkStencilOpState instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineDynamicStateCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineColorBlendStateCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineColorBlendAttachmentState instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineMultisampleStateCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineRasterizationStateCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineViewportStateCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineTessellationStateCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineInputAssemblyStateCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineVertexInputStateCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkVertexInputAttributeDescription instance GHC.Classes.Eq Graphics.Vulkan.VkVertexInputBindingDescription instance GHC.Classes.Eq Graphics.Vulkan.VkComputePipelineCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineShaderStageCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkSpecializationInfo instance GHC.Classes.Eq Graphics.Vulkan.VkSpecializationMapEntry instance GHC.Classes.Eq Graphics.Vulkan.VkDescriptorSetAllocateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkDescriptorPoolCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkDescriptorPoolSize instance GHC.Classes.Eq Graphics.Vulkan.VkDescriptorSetLayoutCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkDescriptorSetLayoutBinding instance GHC.Classes.Eq Graphics.Vulkan.VkShaderModuleCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkImageResolve instance GHC.Classes.Eq Graphics.Vulkan.VkBufferImageCopy instance GHC.Classes.Eq Graphics.Vulkan.VkImageBlit instance GHC.Classes.Eq Graphics.Vulkan.VkImageCopy instance GHC.Classes.Eq Graphics.Vulkan.VkBindSparseInfo instance GHC.Classes.Eq Graphics.Vulkan.VkSparseImageMemoryBindInfo instance GHC.Classes.Eq Graphics.Vulkan.VkSparseImageOpaqueMemoryBindInfo instance GHC.Classes.Eq Graphics.Vulkan.VkSparseBufferMemoryBindInfo instance GHC.Classes.Eq Graphics.Vulkan.VkSparseImageMemoryBind instance GHC.Classes.Eq Graphics.Vulkan.VkSparseMemoryBind instance GHC.Classes.Eq Graphics.Vulkan.VkBufferCopy instance GHC.Classes.Eq Graphics.Vulkan.VkImageViewCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkSubresourceLayout instance GHC.Classes.Eq Graphics.Vulkan.VkImageCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkImageMemoryBarrier instance GHC.Classes.Eq Graphics.Vulkan.VkBufferMemoryBarrier instance GHC.Classes.Eq Graphics.Vulkan.VkMemoryBarrier instance GHC.Classes.Eq Graphics.Vulkan.VkImageSubresourceRange instance GHC.Classes.Eq Graphics.Vulkan.VkImageSubresourceLayers instance GHC.Classes.Eq Graphics.Vulkan.VkImageSubresource instance GHC.Classes.Eq Graphics.Vulkan.VkBufferViewCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkBufferCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkCopyDescriptorSet instance GHC.Classes.Eq Graphics.Vulkan.VkWriteDescriptorSet instance GHC.Classes.Eq Graphics.Vulkan.VkDescriptorImageInfo instance GHC.Classes.Eq Graphics.Vulkan.VkDescriptorBufferInfo instance GHC.Classes.Eq Graphics.Vulkan.VkImageFormatProperties instance GHC.Classes.Eq Graphics.Vulkan.VkFormatProperties instance GHC.Classes.Eq Graphics.Vulkan.VkMappedMemoryRange instance GHC.Classes.Eq Graphics.Vulkan.VkPhysicalDeviceMemoryProperties instance GHC.Classes.Eq Graphics.Vulkan.VkMemoryHeap instance GHC.Classes.Eq Graphics.Vulkan.VkMemoryType instance GHC.Classes.Eq Graphics.Vulkan.VkSparseImageMemoryRequirements instance GHC.Classes.Eq Graphics.Vulkan.VkSparseImageFormatProperties instance GHC.Classes.Eq Graphics.Vulkan.VkMemoryRequirements instance GHC.Classes.Eq Graphics.Vulkan.VkMemoryAllocateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkQueueFamilyProperties instance GHC.Classes.Eq Graphics.Vulkan.VkInstanceCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkDeviceQueueCreateInfo instance GHC.Classes.Eq Graphics.Vulkan.VkAllocationCallbacks instance GHC.Classes.Eq Graphics.Vulkan.VkApplicationInfo instance GHC.Classes.Eq Graphics.Vulkan.VkLayerProperties instance GHC.Classes.Eq Graphics.Vulkan.VkExtensionProperties instance GHC.Classes.Eq Graphics.Vulkan.VkComponentMapping instance GHC.Classes.Eq Graphics.Vulkan.VkClearRect instance GHC.Classes.Eq Graphics.Vulkan.VkRect3D instance GHC.Classes.Eq Graphics.Vulkan.VkRect2D instance GHC.Classes.Eq Graphics.Vulkan.VkViewport instance GHC.Classes.Eq Graphics.Vulkan.VkExtent3D instance GHC.Classes.Eq Graphics.Vulkan.VkExtent2D instance GHC.Classes.Eq Graphics.Vulkan.VkOffset3D instance GHC.Classes.Eq Graphics.Vulkan.VkOffset2D instance Foreign.Storable.Storable Graphics.Vulkan.VkDebugReportErrorEXT instance GHC.Classes.Eq Graphics.Vulkan.VkDebugReportErrorEXT instance Foreign.Storable.Storable Graphics.Vulkan.VkDebugReportObjectTypeEXT instance GHC.Classes.Eq Graphics.Vulkan.VkDebugReportObjectTypeEXT instance Foreign.Storable.Storable Graphics.Vulkan.VkColorSpaceKHR instance GHC.Classes.Eq Graphics.Vulkan.VkColorSpaceKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkPresentModeKHR instance GHC.Classes.Eq Graphics.Vulkan.VkPresentModeKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkDynamicState instance GHC.Classes.Eq Graphics.Vulkan.VkDynamicState instance Foreign.Storable.Storable Graphics.Vulkan.VkResult instance GHC.Classes.Eq Graphics.Vulkan.VkResult instance Foreign.Storable.Storable Graphics.Vulkan.VkSubpassContents instance GHC.Classes.Eq Graphics.Vulkan.VkSubpassContents instance Foreign.Storable.Storable Graphics.Vulkan.VkStructureType instance GHC.Classes.Eq Graphics.Vulkan.VkStructureType instance Foreign.Storable.Storable Graphics.Vulkan.VkFormat instance GHC.Classes.Eq Graphics.Vulkan.VkFormat instance Foreign.Storable.Storable Graphics.Vulkan.VkVertexInputRate instance GHC.Classes.Eq Graphics.Vulkan.VkVertexInputRate instance Foreign.Storable.Storable Graphics.Vulkan.VkPhysicalDeviceType instance GHC.Classes.Eq Graphics.Vulkan.VkPhysicalDeviceType instance Foreign.Storable.Storable Graphics.Vulkan.VkSystemAllocationScope instance GHC.Classes.Eq Graphics.Vulkan.VkSystemAllocationScope instance Foreign.Storable.Storable Graphics.Vulkan.VkInternalAllocationType instance GHC.Classes.Eq Graphics.Vulkan.VkInternalAllocationType instance Foreign.Storable.Storable Graphics.Vulkan.VkLogicOp instance GHC.Classes.Eq Graphics.Vulkan.VkLogicOp instance Foreign.Storable.Storable Graphics.Vulkan.VkStencilOp instance GHC.Classes.Eq Graphics.Vulkan.VkStencilOp instance Foreign.Storable.Storable Graphics.Vulkan.VkBlendOp instance GHC.Classes.Eq Graphics.Vulkan.VkBlendOp instance Foreign.Storable.Storable Graphics.Vulkan.VkBlendFactor instance GHC.Classes.Eq Graphics.Vulkan.VkBlendFactor instance Foreign.Storable.Storable Graphics.Vulkan.VkFrontFace instance GHC.Classes.Eq Graphics.Vulkan.VkFrontFace instance Foreign.Storable.Storable Graphics.Vulkan.VkPolygonMode instance GHC.Classes.Eq Graphics.Vulkan.VkPolygonMode instance Foreign.Storable.Storable Graphics.Vulkan.VkCompareOp instance GHC.Classes.Eq Graphics.Vulkan.VkCompareOp instance Foreign.Storable.Storable Graphics.Vulkan.VkSamplerAddressMode instance GHC.Classes.Eq Graphics.Vulkan.VkSamplerAddressMode instance Foreign.Storable.Storable Graphics.Vulkan.VkSamplerMipmapMode instance GHC.Classes.Eq Graphics.Vulkan.VkSamplerMipmapMode instance Foreign.Storable.Storable Graphics.Vulkan.VkFilter instance GHC.Classes.Eq Graphics.Vulkan.VkFilter instance Foreign.Storable.Storable Graphics.Vulkan.VkIndexType instance GHC.Classes.Eq Graphics.Vulkan.VkIndexType instance Foreign.Storable.Storable Graphics.Vulkan.VkSharingMode instance GHC.Classes.Eq Graphics.Vulkan.VkSharingMode instance Foreign.Storable.Storable Graphics.Vulkan.VkPrimitiveTopology instance GHC.Classes.Eq Graphics.Vulkan.VkPrimitiveTopology instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineCacheHeaderVersion instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineCacheHeaderVersion instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineBindPoint instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineBindPoint instance Foreign.Storable.Storable Graphics.Vulkan.VkBorderColor instance GHC.Classes.Eq Graphics.Vulkan.VkBorderColor instance Foreign.Storable.Storable Graphics.Vulkan.VkQueryType instance GHC.Classes.Eq Graphics.Vulkan.VkQueryType instance Foreign.Storable.Storable Graphics.Vulkan.VkDescriptorType instance GHC.Classes.Eq Graphics.Vulkan.VkDescriptorType instance Foreign.Storable.Storable Graphics.Vulkan.VkComponentSwizzle instance GHC.Classes.Eq Graphics.Vulkan.VkComponentSwizzle instance Foreign.Storable.Storable Graphics.Vulkan.VkCommandBufferLevel instance GHC.Classes.Eq Graphics.Vulkan.VkCommandBufferLevel instance Foreign.Storable.Storable Graphics.Vulkan.VkImageViewType instance GHC.Classes.Eq Graphics.Vulkan.VkImageViewType instance Foreign.Storable.Storable Graphics.Vulkan.VkImageTiling instance GHC.Classes.Eq Graphics.Vulkan.VkImageTiling instance Foreign.Storable.Storable Graphics.Vulkan.VkImageType instance GHC.Classes.Eq Graphics.Vulkan.VkImageType instance Foreign.Storable.Storable Graphics.Vulkan.VkAttachmentStoreOp instance GHC.Classes.Eq Graphics.Vulkan.VkAttachmentStoreOp instance Foreign.Storable.Storable Graphics.Vulkan.VkAttachmentLoadOp instance GHC.Classes.Eq Graphics.Vulkan.VkAttachmentLoadOp instance Foreign.Storable.Storable Graphics.Vulkan.VkImageLayout instance GHC.Classes.Eq Graphics.Vulkan.VkImageLayout instance Data.Bits.FiniteBits Graphics.Vulkan.VkDebugReportFlagBitsEXT instance Data.Bits.Bits Graphics.Vulkan.VkDebugReportFlagBitsEXT instance Foreign.Storable.Storable Graphics.Vulkan.VkDebugReportFlagBitsEXT instance GHC.Classes.Eq Graphics.Vulkan.VkDebugReportFlagBitsEXT instance Foreign.Storable.Storable Graphics.Vulkan.VkXcbSurfaceCreateFlagsKHR instance GHC.Classes.Eq Graphics.Vulkan.VkXcbSurfaceCreateFlagsKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkXlibSurfaceCreateFlagsKHR instance GHC.Classes.Eq Graphics.Vulkan.VkXlibSurfaceCreateFlagsKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkWin32SurfaceCreateFlagsKHR instance GHC.Classes.Eq Graphics.Vulkan.VkWin32SurfaceCreateFlagsKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkWaylandSurfaceCreateFlagsKHR instance GHC.Classes.Eq Graphics.Vulkan.VkWaylandSurfaceCreateFlagsKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkMirSurfaceCreateFlagsKHR instance GHC.Classes.Eq Graphics.Vulkan.VkMirSurfaceCreateFlagsKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkAndroidSurfaceCreateFlagsKHR instance GHC.Classes.Eq Graphics.Vulkan.VkAndroidSurfaceCreateFlagsKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkDisplaySurfaceCreateFlagsKHR instance GHC.Classes.Eq Graphics.Vulkan.VkDisplaySurfaceCreateFlagsKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkDisplayModeCreateFlagsKHR instance GHC.Classes.Eq Graphics.Vulkan.VkDisplayModeCreateFlagsKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkSwapchainCreateFlagsKHR instance GHC.Classes.Eq Graphics.Vulkan.VkSwapchainCreateFlagsKHR instance Data.Bits.FiniteBits Graphics.Vulkan.VkSurfaceTransformFlagBitsKHR instance Data.Bits.Bits Graphics.Vulkan.VkSurfaceTransformFlagBitsKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkSurfaceTransformFlagBitsKHR instance GHC.Classes.Eq Graphics.Vulkan.VkSurfaceTransformFlagBitsKHR instance Data.Bits.FiniteBits Graphics.Vulkan.VkDisplayPlaneAlphaFlagBitsKHR instance Data.Bits.Bits Graphics.Vulkan.VkDisplayPlaneAlphaFlagBitsKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkDisplayPlaneAlphaFlagBitsKHR instance GHC.Classes.Eq Graphics.Vulkan.VkDisplayPlaneAlphaFlagBitsKHR instance Data.Bits.FiniteBits Graphics.Vulkan.VkCompositeAlphaFlagBitsKHR instance Data.Bits.Bits Graphics.Vulkan.VkCompositeAlphaFlagBitsKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkCompositeAlphaFlagBitsKHR instance GHC.Classes.Eq Graphics.Vulkan.VkCompositeAlphaFlagBitsKHR instance Data.Bits.FiniteBits Graphics.Vulkan.VkDependencyFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkDependencyFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkDependencyFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkDependencyFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkDescriptorPoolResetFlags instance GHC.Classes.Eq Graphics.Vulkan.VkDescriptorPoolResetFlags instance Data.Bits.FiniteBits Graphics.Vulkan.VkDescriptorPoolCreateFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkDescriptorPoolCreateFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkDescriptorPoolCreateFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkDescriptorPoolCreateFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkCullModeFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkCullModeFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkCullModeFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkCullModeFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkStencilFaceFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkStencilFaceFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkStencilFaceFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkStencilFaceFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkAttachmentDescriptionFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkAttachmentDescriptionFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkAttachmentDescriptionFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkAttachmentDescriptionFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkSampleCountFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkSampleCountFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkSampleCountFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkSampleCountFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkPipelineStageFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkPipelineStageFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineStageFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineStageFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkSubpassDescriptionFlags instance GHC.Classes.Eq Graphics.Vulkan.VkSubpassDescriptionFlags instance Data.Bits.FiniteBits Graphics.Vulkan.VkSparseImageFormatFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkSparseImageFormatFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkSparseImageFormatFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkSparseImageFormatFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkSparseMemoryBindFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkSparseMemoryBindFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkSparseMemoryBindFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkSparseMemoryBindFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkImageAspectFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkImageAspectFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkImageAspectFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkImageAspectFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkMemoryMapFlags instance GHC.Classes.Eq Graphics.Vulkan.VkMemoryMapFlags instance Data.Bits.FiniteBits Graphics.Vulkan.VkQueryPipelineStatisticFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkQueryPipelineStatisticFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkQueryPipelineStatisticFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkQueryPipelineStatisticFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkCommandBufferUsageFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkCommandBufferUsageFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkCommandBufferUsageFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkCommandBufferUsageFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkCommandBufferResetFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkCommandBufferResetFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkCommandBufferResetFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkCommandBufferResetFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkCommandPoolResetFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkCommandPoolResetFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkCommandPoolResetFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkCommandPoolResetFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkCommandPoolCreateFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkCommandPoolCreateFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkCommandPoolCreateFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkCommandPoolCreateFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkEventCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkEventCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkShaderModuleCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkShaderModuleCreateFlags instance Data.Bits.FiniteBits Graphics.Vulkan.VkQueryResultFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkQueryResultFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkQueryResultFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkQueryResultFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkQueryControlFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkQueryControlFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkQueryControlFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkQueryControlFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkFormatFeatureFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkFormatFeatureFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkFormatFeatureFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkFormatFeatureFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkSemaphoreCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkSemaphoreCreateFlags instance Data.Bits.FiniteBits Graphics.Vulkan.VkFenceCreateFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkFenceCreateFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkFenceCreateFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkFenceCreateFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkColorComponentFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkColorComponentFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkColorComponentFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkColorComponentFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkPipelineCreateFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkPipelineCreateFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineCreateFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineCreateFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkImageViewCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkImageViewCreateFlags instance Data.Bits.FiniteBits Graphics.Vulkan.VkImageCreateFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkImageCreateFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkImageCreateFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkImageCreateFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkImageUsageFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkImageUsageFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkImageUsageFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkImageUsageFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkShaderStageFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkShaderStageFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkShaderStageFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkShaderStageFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkBufferCreateFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkBufferCreateFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkBufferCreateFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkBufferCreateFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkBufferUsageFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkBufferUsageFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkBufferUsageFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkBufferUsageFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkAccessFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkAccessFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkAccessFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkAccessFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkMemoryHeapFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkMemoryHeapFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkMemoryHeapFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkMemoryHeapFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkMemoryPropertyFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkMemoryPropertyFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkMemoryPropertyFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkMemoryPropertyFlagBits instance Data.Bits.FiniteBits Graphics.Vulkan.VkQueueFlagBits instance Data.Bits.Bits Graphics.Vulkan.VkQueueFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkQueueFlagBits instance GHC.Classes.Eq Graphics.Vulkan.VkQueueFlagBits instance Foreign.Storable.Storable Graphics.Vulkan.VkDeviceQueueCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkDeviceQueueCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkDeviceCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkDeviceCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkInstanceCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkInstanceCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkBufferViewCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkBufferViewCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkDescriptorSetLayoutCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkDescriptorSetLayoutCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineShaderStageCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineShaderStageCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineVertexInputStateCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineVertexInputStateCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineInputAssemblyStateCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineInputAssemblyStateCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineTessellationStateCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineTessellationStateCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineViewportStateCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineViewportStateCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineRasterizationStateCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineRasterizationStateCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineMultisampleStateCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineMultisampleStateCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineColorBlendStateCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineColorBlendStateCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineDynamicStateCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineDynamicStateCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineDepthStencilStateCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineDepthStencilStateCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineCacheCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineCacheCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineLayoutCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineLayoutCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkSamplerCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkSamplerCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkRenderPassCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkRenderPassCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkQueryPoolCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkQueryPoolCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkFramebufferCreateFlags instance GHC.Classes.Eq Graphics.Vulkan.VkFramebufferCreateFlags instance Foreign.Storable.Storable Graphics.Vulkan.VkDebugReportCallbackEXT instance GHC.Classes.Eq Graphics.Vulkan.VkDebugReportCallbackEXT instance Foreign.Storable.Storable Graphics.Vulkan.VkSwapchainKHR instance GHC.Classes.Eq Graphics.Vulkan.VkSwapchainKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkSurfaceKHR instance GHC.Classes.Eq Graphics.Vulkan.VkSurfaceKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkDisplayModeKHR instance GHC.Classes.Eq Graphics.Vulkan.VkDisplayModeKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkDisplayKHR instance GHC.Classes.Eq Graphics.Vulkan.VkDisplayKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineCache instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineCache instance Foreign.Storable.Storable Graphics.Vulkan.VkRenderPass instance GHC.Classes.Eq Graphics.Vulkan.VkRenderPass instance Foreign.Storable.Storable Graphics.Vulkan.VkFramebuffer instance GHC.Classes.Eq Graphics.Vulkan.VkFramebuffer instance Foreign.Storable.Storable Graphics.Vulkan.VkQueryPool instance GHC.Classes.Eq Graphics.Vulkan.VkQueryPool instance Foreign.Storable.Storable Graphics.Vulkan.VkEvent instance GHC.Classes.Eq Graphics.Vulkan.VkEvent instance Foreign.Storable.Storable Graphics.Vulkan.VkSemaphore instance GHC.Classes.Eq Graphics.Vulkan.VkSemaphore instance Foreign.Storable.Storable Graphics.Vulkan.VkFence instance GHC.Classes.Eq Graphics.Vulkan.VkFence instance Foreign.Storable.Storable Graphics.Vulkan.VkDescriptorPool instance GHC.Classes.Eq Graphics.Vulkan.VkDescriptorPool instance Foreign.Storable.Storable Graphics.Vulkan.VkDescriptorSetLayout instance GHC.Classes.Eq Graphics.Vulkan.VkDescriptorSetLayout instance Foreign.Storable.Storable Graphics.Vulkan.VkDescriptorSet instance GHC.Classes.Eq Graphics.Vulkan.VkDescriptorSet instance Foreign.Storable.Storable Graphics.Vulkan.VkSampler instance GHC.Classes.Eq Graphics.Vulkan.VkSampler instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineLayout instance GHC.Classes.Eq Graphics.Vulkan.VkPipelineLayout instance Foreign.Storable.Storable Graphics.Vulkan.VkPipeline instance GHC.Classes.Eq Graphics.Vulkan.VkPipeline instance Foreign.Storable.Storable Graphics.Vulkan.VkShaderModule instance GHC.Classes.Eq Graphics.Vulkan.VkShaderModule instance Foreign.Storable.Storable Graphics.Vulkan.VkImageView instance GHC.Classes.Eq Graphics.Vulkan.VkImageView instance Foreign.Storable.Storable Graphics.Vulkan.VkImage instance GHC.Classes.Eq Graphics.Vulkan.VkImage instance Foreign.Storable.Storable Graphics.Vulkan.VkBufferView instance GHC.Classes.Eq Graphics.Vulkan.VkBufferView instance Foreign.Storable.Storable Graphics.Vulkan.VkBuffer instance GHC.Classes.Eq Graphics.Vulkan.VkBuffer instance Foreign.Storable.Storable Graphics.Vulkan.VkCommandPool instance GHC.Classes.Eq Graphics.Vulkan.VkCommandPool instance Foreign.Storable.Storable Graphics.Vulkan.VkDeviceMemory instance GHC.Classes.Eq Graphics.Vulkan.VkDeviceMemory instance Foreign.Storable.Storable Graphics.Vulkan.VkDeviceSize instance GHC.Classes.Eq Graphics.Vulkan.VkDeviceSize instance Foreign.Storable.Storable Graphics.Vulkan.VkBool32 instance GHC.Classes.Eq Graphics.Vulkan.VkBool32 instance Foreign.Storable.Storable Graphics.Vulkan.VkSampleMask instance GHC.Classes.Eq Graphics.Vulkan.VkSampleMask instance Foreign.Storable.Storable Graphics.Vulkan.VkOffset2D instance Foreign.Storable.Storable Graphics.Vulkan.VkOffset3D instance Foreign.Storable.Storable Graphics.Vulkan.VkExtent2D instance Foreign.Storable.Storable Graphics.Vulkan.VkExtent3D instance Foreign.Storable.Storable Graphics.Vulkan.VkViewport instance Foreign.Storable.Storable Graphics.Vulkan.VkRect2D instance Foreign.Storable.Storable Graphics.Vulkan.VkRect3D instance Foreign.Storable.Storable Graphics.Vulkan.VkClearRect instance Foreign.Storable.Storable Graphics.Vulkan.VkComponentMapping instance Foreign.Storable.Storable Graphics.Vulkan.VkPhysicalDeviceProperties instance Foreign.Storable.Storable Graphics.Vulkan.VkExtensionProperties instance Foreign.Storable.Storable Graphics.Vulkan.VkLayerProperties instance Foreign.Storable.Storable Graphics.Vulkan.VkApplicationInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkAllocationCallbacks instance Foreign.Storable.Storable Graphics.Vulkan.VkDeviceQueueCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkDeviceCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkInstanceCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkQueueFamilyProperties instance Foreign.Storable.Storable Graphics.Vulkan.VkPhysicalDeviceMemoryProperties instance Foreign.Storable.Storable Graphics.Vulkan.VkMemoryAllocateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkMemoryRequirements instance Foreign.Storable.Storable Graphics.Vulkan.VkSparseImageFormatProperties instance Foreign.Storable.Storable Graphics.Vulkan.VkSparseImageMemoryRequirements instance Foreign.Storable.Storable Graphics.Vulkan.VkMemoryType instance Foreign.Storable.Storable Graphics.Vulkan.VkMemoryHeap instance Foreign.Storable.Storable Graphics.Vulkan.VkMappedMemoryRange instance Foreign.Storable.Storable Graphics.Vulkan.VkFormatProperties instance Foreign.Storable.Storable Graphics.Vulkan.VkImageFormatProperties instance Foreign.Storable.Storable Graphics.Vulkan.VkDescriptorBufferInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkDescriptorImageInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkWriteDescriptorSet instance Foreign.Storable.Storable Graphics.Vulkan.VkCopyDescriptorSet instance Foreign.Storable.Storable Graphics.Vulkan.VkBufferCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkBufferViewCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkImageSubresource instance Foreign.Storable.Storable Graphics.Vulkan.VkImageSubresourceLayers instance Foreign.Storable.Storable Graphics.Vulkan.VkImageSubresourceRange instance Foreign.Storable.Storable Graphics.Vulkan.VkMemoryBarrier instance Foreign.Storable.Storable Graphics.Vulkan.VkBufferMemoryBarrier instance Foreign.Storable.Storable Graphics.Vulkan.VkImageMemoryBarrier instance Foreign.Storable.Storable Graphics.Vulkan.VkImageCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkSubresourceLayout instance Foreign.Storable.Storable Graphics.Vulkan.VkImageViewCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkBufferCopy instance Foreign.Storable.Storable Graphics.Vulkan.VkSparseMemoryBind instance Foreign.Storable.Storable Graphics.Vulkan.VkSparseImageMemoryBind instance Foreign.Storable.Storable Graphics.Vulkan.VkSparseBufferMemoryBindInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkSparseImageOpaqueMemoryBindInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkSparseImageMemoryBindInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkBindSparseInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkImageCopy instance Foreign.Storable.Storable Graphics.Vulkan.VkImageBlit instance Foreign.Storable.Storable Graphics.Vulkan.VkBufferImageCopy instance Foreign.Storable.Storable Graphics.Vulkan.VkImageResolve instance Foreign.Storable.Storable Graphics.Vulkan.VkShaderModuleCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkDescriptorSetLayoutBinding instance Foreign.Storable.Storable Graphics.Vulkan.VkDescriptorSetLayoutCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkDescriptorPoolSize instance Foreign.Storable.Storable Graphics.Vulkan.VkDescriptorPoolCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkDescriptorSetAllocateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkSpecializationMapEntry instance Foreign.Storable.Storable Graphics.Vulkan.VkSpecializationInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineShaderStageCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkComputePipelineCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkVertexInputBindingDescription instance Foreign.Storable.Storable Graphics.Vulkan.VkVertexInputAttributeDescription instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineVertexInputStateCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineInputAssemblyStateCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineTessellationStateCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineViewportStateCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineRasterizationStateCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineMultisampleStateCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineColorBlendAttachmentState instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineColorBlendStateCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineDynamicStateCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkStencilOpState instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineDepthStencilStateCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkGraphicsPipelineCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineCacheCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkPushConstantRange instance Foreign.Storable.Storable Graphics.Vulkan.VkPipelineLayoutCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkSamplerCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkCommandPoolCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkCommandBufferAllocateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkCommandBufferInheritanceInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkCommandBufferBeginInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkRenderPassBeginInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkClearDepthStencilValue instance Foreign.Storable.Storable Graphics.Vulkan.VkClearAttachment instance Foreign.Storable.Storable Graphics.Vulkan.VkAttachmentDescription instance Foreign.Storable.Storable Graphics.Vulkan.VkAttachmentReference instance Foreign.Storable.Storable Graphics.Vulkan.VkSubpassDescription instance Foreign.Storable.Storable Graphics.Vulkan.VkSubpassDependency instance Foreign.Storable.Storable Graphics.Vulkan.VkRenderPassCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkEventCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkFenceCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkPhysicalDeviceFeatures instance Foreign.Storable.Storable Graphics.Vulkan.VkPhysicalDeviceSparseProperties instance Foreign.Storable.Storable Graphics.Vulkan.VkPhysicalDeviceLimits instance Foreign.Storable.Storable Graphics.Vulkan.VkSemaphoreCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkQueryPoolCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkFramebufferCreateInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkDrawIndirectCommand instance Foreign.Storable.Storable Graphics.Vulkan.VkDrawIndexedIndirectCommand instance Foreign.Storable.Storable Graphics.Vulkan.VkDispatchIndirectCommand instance Foreign.Storable.Storable Graphics.Vulkan.VkSubmitInfo instance Foreign.Storable.Storable Graphics.Vulkan.VkDisplayPropertiesKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkDisplayPlanePropertiesKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkDisplayModeParametersKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkDisplayModePropertiesKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkDisplayModeCreateInfoKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkDisplayPlaneCapabilitiesKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkDisplaySurfaceCreateInfoKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkDisplayPresentInfoKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkSurfaceCapabilitiesKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkSurfaceFormatKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkSwapchainCreateInfoKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkPresentInfoKHR instance Foreign.Storable.Storable Graphics.Vulkan.VkDebugReportCallbackCreateInfoEXT instance Foreign.Storable.Storable Graphics.Vulkan.VkClearColorValue instance Foreign.Storable.Storable Graphics.Vulkan.VkClearValue