module Graphics.Vulkan where
import Data.Bits (Bits, FiniteBits)
import Data.Int (Int32)
import Data.Vector.Fixed.Storable (Vec)
import Data.Vector.Fixed.Cont (ToPeano)
import Data.Void (Void)
import Data.Word (Word8, Word32, Word64)
import Foreign.C.Types (CChar, CFloat(..), CSize(..))
import Foreign.Ptr (Ptr, FunPtr, plusPtr, castPtr)
import Foreign.Storable (Storable(..))
pattern VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = 256
type VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = 256
pattern VK_UUID_SIZE = 16
type VK_UUID_SIZE = 16
pattern VK_MAX_EXTENSION_NAME_SIZE = 256
type VK_MAX_EXTENSION_NAME_SIZE = 256
pattern VK_MAX_DESCRIPTION_SIZE = 256
type VK_MAX_DESCRIPTION_SIZE = 256
pattern VK_MAX_MEMORY_TYPES = 32
type VK_MAX_MEMORY_TYPES = 32
pattern VK_MAX_MEMORY_HEAPS = 16
type VK_MAX_MEMORY_HEAPS = 16
pattern VK_LOD_CLAMP_NONE = 1000.0
pattern VK_REMAINING_MIP_LEVELS = 0xffffffff :: Word32
pattern VK_REMAINING_ARRAY_LAYERS = 0xffffffff :: Word32
pattern VK_WHOLE_SIZE = 0xffffffffffffffff :: Word64
pattern VK_ATTACHMENT_UNUSED = 0xffffffff :: Word32
pattern VK_TRUE = 1
type VK_TRUE = 1
pattern VK_FALSE = 0
type VK_FALSE = 0
pattern VK_QUEUE_FAMILY_IGNORED = 0xffffffff :: Word32
pattern VK_SUBPASS_EXTERNAL = 0xffffffff :: Word32
newtype VkSampleMask = VkSampleMask Word32
deriving (Eq, Storable)
newtype VkBool32 = VkBool32 Word32
deriving (Eq, Storable)
type VkFlags = Word32
newtype VkDeviceSize = VkDeviceSize Word64
deriving (Eq, Storable)
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
deriving (Eq, Storable)
newtype VkCommandPool = VkCommandPool Word64
deriving (Eq, Storable)
newtype VkBuffer = VkBuffer Word64
deriving (Eq, Storable)
newtype VkBufferView = VkBufferView Word64
deriving (Eq, Storable)
newtype VkImage = VkImage Word64
deriving (Eq, Storable)
newtype VkImageView = VkImageView Word64
deriving (Eq, Storable)
newtype VkShaderModule = VkShaderModule Word64
deriving (Eq, Storable)
newtype VkPipeline = VkPipeline Word64
deriving (Eq, Storable)
newtype VkPipelineLayout = VkPipelineLayout Word64
deriving (Eq, Storable)
newtype VkSampler = VkSampler Word64
deriving (Eq, Storable)
newtype VkDescriptorSet = VkDescriptorSet Word64
deriving (Eq, Storable)
newtype VkDescriptorSetLayout = VkDescriptorSetLayout Word64
deriving (Eq, Storable)
newtype VkDescriptorPool = VkDescriptorPool Word64
deriving (Eq, Storable)
newtype VkFence = VkFence Word64
deriving (Eq, Storable)
newtype VkSemaphore = VkSemaphore Word64
deriving (Eq, Storable)
newtype VkEvent = VkEvent Word64
deriving (Eq, Storable)
newtype VkQueryPool = VkQueryPool Word64
deriving (Eq, Storable)
newtype VkFramebuffer = VkFramebuffer Word64
deriving (Eq, Storable)
newtype VkRenderPass = VkRenderPass Word64
deriving (Eq, Storable)
newtype VkPipelineCache = VkPipelineCache Word64
deriving (Eq, Storable)
newtype VkDisplayKHR = VkDisplayKHR Word64
deriving (Eq, Storable)
newtype VkDisplayModeKHR = VkDisplayModeKHR Word64
deriving (Eq, Storable)
newtype VkSurfaceKHR = VkSurfaceKHR Word64
deriving (Eq, Storable)
newtype VkSwapchainKHR = VkSwapchainKHR Word64
deriving (Eq, Storable)
newtype VkDebugReportCallbackEXT = VkDebugReportCallbackEXT Word64
deriving (Eq, Storable)
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)
newtype VkFramebufferCreateFlags = VkFramebufferCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkQueryPoolCreateFlags = VkQueryPoolCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkRenderPassCreateFlags = VkRenderPassCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkSamplerCreateFlags = VkSamplerCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkPipelineLayoutCreateFlags = VkPipelineLayoutCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkPipelineCacheCreateFlags = VkPipelineCacheCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkPipelineDepthStencilStateCreateFlags = VkPipelineDepthStencilStateCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkPipelineDynamicStateCreateFlags = VkPipelineDynamicStateCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkPipelineColorBlendStateCreateFlags = VkPipelineColorBlendStateCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkPipelineMultisampleStateCreateFlags = VkPipelineMultisampleStateCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkPipelineRasterizationStateCreateFlags = VkPipelineRasterizationStateCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkPipelineViewportStateCreateFlags = VkPipelineViewportStateCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkPipelineTessellationStateCreateFlags = VkPipelineTessellationStateCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkPipelineInputAssemblyStateCreateFlags = VkPipelineInputAssemblyStateCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkPipelineVertexInputStateCreateFlags = VkPipelineVertexInputStateCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkBufferViewCreateFlags = VkBufferViewCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkInstanceCreateFlags = VkInstanceCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkDeviceCreateFlags = VkDeviceCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkDeviceQueueCreateFlags = VkDeviceQueueCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkQueueFlagBits = VkQueueFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkQueueFlags = VkQueueFlagBits
pattern VK_QUEUE_GRAPHICS_BIT = VkQueueFlagBits 0x1
pattern VK_QUEUE_COMPUTE_BIT = VkQueueFlagBits 0x2
pattern VK_QUEUE_TRANSFER_BIT = VkQueueFlagBits 0x4
pattern VK_QUEUE_SPARSE_BINDING_BIT = VkQueueFlagBits 0x8
newtype VkMemoryPropertyFlagBits = VkMemoryPropertyFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkMemoryPropertyFlags = VkMemoryPropertyFlagBits
pattern VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = VkMemoryPropertyFlagBits 0x1
pattern VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = VkMemoryPropertyFlagBits 0x2
pattern VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = VkMemoryPropertyFlagBits 0x4
pattern VK_MEMORY_PROPERTY_HOST_CACHED_BIT = VkMemoryPropertyFlagBits 0x8
pattern VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = VkMemoryPropertyFlagBits 0x10
newtype VkMemoryHeapFlagBits = VkMemoryHeapFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkMemoryHeapFlags = VkMemoryHeapFlagBits
pattern VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = VkMemoryHeapFlagBits 0x1
newtype VkAccessFlagBits = VkAccessFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkAccessFlags = VkAccessFlagBits
pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT = VkAccessFlagBits 0x1
pattern VK_ACCESS_INDEX_READ_BIT = VkAccessFlagBits 0x2
pattern VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = VkAccessFlagBits 0x4
pattern VK_ACCESS_UNIFORM_READ_BIT = VkAccessFlagBits 0x8
pattern VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = VkAccessFlagBits 0x10
pattern VK_ACCESS_SHADER_READ_BIT = VkAccessFlagBits 0x20
pattern VK_ACCESS_SHADER_WRITE_BIT = VkAccessFlagBits 0x40
pattern VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = VkAccessFlagBits 0x80
pattern VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = VkAccessFlagBits 0x100
pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = VkAccessFlagBits 0x200
pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = VkAccessFlagBits 0x400
pattern VK_ACCESS_TRANSFER_READ_BIT = VkAccessFlagBits 0x800
pattern VK_ACCESS_TRANSFER_WRITE_BIT = VkAccessFlagBits 0x1000
pattern VK_ACCESS_HOST_READ_BIT = VkAccessFlagBits 0x2000
pattern VK_ACCESS_HOST_WRITE_BIT = VkAccessFlagBits 0x4000
pattern VK_ACCESS_MEMORY_READ_BIT = VkAccessFlagBits 0x8000
pattern VK_ACCESS_MEMORY_WRITE_BIT = VkAccessFlagBits 0x10000
newtype VkBufferUsageFlagBits = VkBufferUsageFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkBufferUsageFlags = VkBufferUsageFlagBits
pattern VK_BUFFER_USAGE_TRANSFER_SRC_BIT = VkBufferUsageFlagBits 0x1
pattern VK_BUFFER_USAGE_TRANSFER_DST_BIT = VkBufferUsageFlagBits 0x2
pattern VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = VkBufferUsageFlagBits 0x4
pattern VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = VkBufferUsageFlagBits 0x8
pattern VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = VkBufferUsageFlagBits 0x10
pattern VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = VkBufferUsageFlagBits 0x20
pattern VK_BUFFER_USAGE_INDEX_BUFFER_BIT = VkBufferUsageFlagBits 0x40
pattern VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = VkBufferUsageFlagBits 0x80
pattern VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = VkBufferUsageFlagBits 0x100
newtype VkBufferCreateFlagBits = VkBufferCreateFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkBufferCreateFlags = VkBufferCreateFlagBits
pattern VK_BUFFER_CREATE_SPARSE_BINDING_BIT = VkBufferCreateFlagBits 0x1
pattern VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = VkBufferCreateFlagBits 0x2
pattern VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = VkBufferCreateFlagBits 0x4
newtype VkShaderStageFlagBits = VkShaderStageFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkShaderStageFlags = VkShaderStageFlagBits
pattern VK_SHADER_STAGE_VERTEX_BIT = VkShaderStageFlagBits 0x1
pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = VkShaderStageFlagBits 0x2
pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = VkShaderStageFlagBits 0x4
pattern VK_SHADER_STAGE_GEOMETRY_BIT = VkShaderStageFlagBits 0x8
pattern VK_SHADER_STAGE_FRAGMENT_BIT = VkShaderStageFlagBits 0x10
pattern VK_SHADER_STAGE_COMPUTE_BIT = VkShaderStageFlagBits 0x20
pattern VK_SHADER_STAGE_ALL_GRAPHICS = VkShaderStageFlagBits 0x1f
pattern VK_SHADER_STAGE_ALL = VkShaderStageFlagBits 0x7fffffff
newtype VkImageUsageFlagBits = VkImageUsageFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkImageUsageFlags = VkImageUsageFlagBits
pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT = VkImageUsageFlagBits 0x1
pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT = VkImageUsageFlagBits 0x2
pattern VK_IMAGE_USAGE_SAMPLED_BIT = VkImageUsageFlagBits 0x4
pattern VK_IMAGE_USAGE_STORAGE_BIT = VkImageUsageFlagBits 0x8
pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = VkImageUsageFlagBits 0x10
pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = VkImageUsageFlagBits 0x20
pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = VkImageUsageFlagBits 0x40
pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = VkImageUsageFlagBits 0x80
newtype VkImageCreateFlagBits = VkImageCreateFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkImageCreateFlags = VkImageCreateFlagBits
pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT = VkImageCreateFlagBits 0x1
pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = VkImageCreateFlagBits 0x2
pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = VkImageCreateFlagBits 0x4
pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = VkImageCreateFlagBits 0x8
pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = VkImageCreateFlagBits 0x10
newtype VkImageViewCreateFlags = VkImageViewCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkPipelineCreateFlagBits = VkPipelineCreateFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkPipelineCreateFlags = VkPipelineCreateFlagBits
pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = VkPipelineCreateFlagBits 0x1
pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = VkPipelineCreateFlagBits 0x2
pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT = VkPipelineCreateFlagBits 0x4
newtype VkColorComponentFlagBits = VkColorComponentFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkColorComponentFlags = VkColorComponentFlagBits
pattern VK_COLOR_COMPONENT_R_BIT = VkColorComponentFlagBits 0x1
pattern VK_COLOR_COMPONENT_G_BIT = VkColorComponentFlagBits 0x2
pattern VK_COLOR_COMPONENT_B_BIT = VkColorComponentFlagBits 0x4
pattern VK_COLOR_COMPONENT_A_BIT = VkColorComponentFlagBits 0x8
newtype VkFenceCreateFlagBits = VkFenceCreateFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkFenceCreateFlags = VkFenceCreateFlagBits
pattern VK_FENCE_CREATE_SIGNALED_BIT = VkFenceCreateFlagBits 0x1
newtype VkSemaphoreCreateFlags = VkSemaphoreCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkFormatFeatureFlagBits = VkFormatFeatureFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkFormatFeatureFlags = VkFormatFeatureFlagBits
pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = VkFormatFeatureFlagBits 0x1
pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = VkFormatFeatureFlagBits 0x2
pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = VkFormatFeatureFlagBits 0x4
pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = VkFormatFeatureFlagBits 0x8
pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = VkFormatFeatureFlagBits 0x10
pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = VkFormatFeatureFlagBits 0x20
pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = VkFormatFeatureFlagBits 0x40
pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = VkFormatFeatureFlagBits 0x80
pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = VkFormatFeatureFlagBits 0x100
pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = VkFormatFeatureFlagBits 0x200
pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT = VkFormatFeatureFlagBits 0x400
pattern VK_FORMAT_FEATURE_BLIT_DST_BIT = VkFormatFeatureFlagBits 0x800
pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = VkFormatFeatureFlagBits 0x1000
newtype VkQueryControlFlagBits = VkQueryControlFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkQueryControlFlags = VkQueryControlFlagBits
pattern VK_QUERY_CONTROL_PRECISE_BIT = VkQueryControlFlagBits 0x1
newtype VkQueryResultFlagBits = VkQueryResultFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkQueryResultFlags = VkQueryResultFlagBits
pattern VK_QUERY_RESULT_64_BIT = VkQueryResultFlagBits 0x1
pattern VK_QUERY_RESULT_WAIT_BIT = VkQueryResultFlagBits 0x2
pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = VkQueryResultFlagBits 0x4
pattern VK_QUERY_RESULT_PARTIAL_BIT = VkQueryResultFlagBits 0x8
newtype VkShaderModuleCreateFlags = VkShaderModuleCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkEventCreateFlags = VkEventCreateFlags VkFlags
deriving (Eq, Storable)
newtype VkCommandPoolCreateFlagBits = VkCommandPoolCreateFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkCommandPoolCreateFlags = VkCommandPoolCreateFlagBits
pattern VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = VkCommandPoolCreateFlagBits 0x1
pattern VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = VkCommandPoolCreateFlagBits 0x2
newtype VkCommandPoolResetFlagBits = VkCommandPoolResetFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkCommandPoolResetFlags = VkCommandPoolResetFlagBits
pattern VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = VkCommandPoolResetFlagBits 0x1
newtype VkCommandBufferResetFlagBits = VkCommandBufferResetFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkCommandBufferResetFlags = VkCommandBufferResetFlagBits
pattern VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = VkCommandBufferResetFlagBits 0x1
newtype VkCommandBufferUsageFlagBits = VkCommandBufferUsageFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkCommandBufferUsageFlags = VkCommandBufferUsageFlagBits
pattern VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = VkCommandBufferUsageFlagBits 0x1
pattern VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = VkCommandBufferUsageFlagBits 0x2
pattern VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = VkCommandBufferUsageFlagBits 0x4
newtype VkQueryPipelineStatisticFlagBits = VkQueryPipelineStatisticFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkQueryPipelineStatisticFlags = VkQueryPipelineStatisticFlagBits
pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = VkQueryPipelineStatisticFlagBits 0x1
pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = VkQueryPipelineStatisticFlagBits 0x2
pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = VkQueryPipelineStatisticFlagBits 0x4
pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = VkQueryPipelineStatisticFlagBits 0x8
pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = VkQueryPipelineStatisticFlagBits 0x10
pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = VkQueryPipelineStatisticFlagBits 0x20
pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = VkQueryPipelineStatisticFlagBits 0x40
pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = VkQueryPipelineStatisticFlagBits 0x80
pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = VkQueryPipelineStatisticFlagBits 0x100
pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = VkQueryPipelineStatisticFlagBits 0x200
pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = VkQueryPipelineStatisticFlagBits 0x400
newtype VkMemoryMapFlags = VkMemoryMapFlags VkFlags
deriving (Eq, Storable)
newtype VkImageAspectFlagBits = VkImageAspectFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkImageAspectFlags = VkImageAspectFlagBits
pattern VK_IMAGE_ASPECT_COLOR_BIT = VkImageAspectFlagBits 0x1
pattern VK_IMAGE_ASPECT_DEPTH_BIT = VkImageAspectFlagBits 0x2
pattern VK_IMAGE_ASPECT_STENCIL_BIT = VkImageAspectFlagBits 0x4
pattern VK_IMAGE_ASPECT_METADATA_BIT = VkImageAspectFlagBits 0x8
newtype VkSparseMemoryBindFlagBits = VkSparseMemoryBindFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkSparseMemoryBindFlags = VkSparseMemoryBindFlagBits
pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT = VkSparseMemoryBindFlagBits 0x1
newtype VkSparseImageFormatFlagBits = VkSparseImageFormatFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkSparseImageFormatFlags = VkSparseImageFormatFlagBits
pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = VkSparseImageFormatFlagBits 0x1
pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = VkSparseImageFormatFlagBits 0x2
pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = VkSparseImageFormatFlagBits 0x4
newtype VkSubpassDescriptionFlags = VkSubpassDescriptionFlags VkFlags
deriving (Eq, Storable)
newtype VkPipelineStageFlagBits = VkPipelineStageFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkPipelineStageFlags = VkPipelineStageFlagBits
pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = VkPipelineStageFlagBits 0x1
pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = VkPipelineStageFlagBits 0x2
pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = VkPipelineStageFlagBits 0x4
pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = VkPipelineStageFlagBits 0x8
pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = VkPipelineStageFlagBits 0x10
pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = VkPipelineStageFlagBits 0x20
pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = VkPipelineStageFlagBits 0x40
pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = VkPipelineStageFlagBits 0x80
pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = VkPipelineStageFlagBits 0x100
pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = VkPipelineStageFlagBits 0x200
pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = VkPipelineStageFlagBits 0x400
pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = VkPipelineStageFlagBits 0x800
pattern VK_PIPELINE_STAGE_TRANSFER_BIT = VkPipelineStageFlagBits 0x1000
pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = VkPipelineStageFlagBits 0x2000
pattern VK_PIPELINE_STAGE_HOST_BIT = VkPipelineStageFlagBits 0x4000
pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = VkPipelineStageFlagBits 0x8000
pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = VkPipelineStageFlagBits 0x10000
newtype VkSampleCountFlagBits = VkSampleCountFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkSampleCountFlags = VkSampleCountFlagBits
pattern VK_SAMPLE_COUNT_1_BIT = VkSampleCountFlagBits 0x1
pattern VK_SAMPLE_COUNT_2_BIT = VkSampleCountFlagBits 0x2
pattern VK_SAMPLE_COUNT_4_BIT = VkSampleCountFlagBits 0x4
pattern VK_SAMPLE_COUNT_8_BIT = VkSampleCountFlagBits 0x8
pattern VK_SAMPLE_COUNT_16_BIT = VkSampleCountFlagBits 0x10
pattern VK_SAMPLE_COUNT_32_BIT = VkSampleCountFlagBits 0x20
pattern VK_SAMPLE_COUNT_64_BIT = VkSampleCountFlagBits 0x40
newtype VkAttachmentDescriptionFlagBits = VkAttachmentDescriptionFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkAttachmentDescriptionFlags = VkAttachmentDescriptionFlagBits
pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = VkAttachmentDescriptionFlagBits 0x1
newtype VkStencilFaceFlagBits = VkStencilFaceFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkStencilFaceFlags = VkStencilFaceFlagBits
pattern VK_STENCIL_FACE_FRONT_BIT = VkStencilFaceFlagBits 0x1
pattern VK_STENCIL_FACE_BACK_BIT = VkStencilFaceFlagBits 0x2
pattern VK_STENCIL_FRONT_AND_BACK = VkStencilFaceFlagBits 0x3
newtype VkCullModeFlagBits = VkCullModeFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkCullModeFlags = VkCullModeFlagBits
pattern VK_CULL_MODE_FRONT_BIT = VkCullModeFlagBits 0x1
pattern VK_CULL_MODE_BACK_BIT = VkCullModeFlagBits 0x2
pattern VK_CULL_MODE_NONE = VkCullModeFlagBits 0x0
pattern VK_CULL_MODE_FRONT_AND_BACK = VkCullModeFlagBits 0x3
newtype VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateFlagBits
pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = VkDescriptorPoolCreateFlagBits 0x1
newtype VkDescriptorPoolResetFlags = VkDescriptorPoolResetFlags VkFlags
deriving (Eq, Storable)
newtype VkDependencyFlagBits = VkDependencyFlagBits VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkDependencyFlags = VkDependencyFlagBits
pattern VK_DEPENDENCY_BY_REGION_BIT = VkDependencyFlagBits 0x1
newtype VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaFlagBitsKHR VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkCompositeAlphaFlagsKHR = VkCompositeAlphaFlagBitsKHR
pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = VkCompositeAlphaFlagBitsKHR 0x1
pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = VkCompositeAlphaFlagBitsKHR 0x2
pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = VkCompositeAlphaFlagBitsKHR 0x4
pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = VkCompositeAlphaFlagBitsKHR 0x8
newtype VkDisplayPlaneAlphaFlagBitsKHR = VkDisplayPlaneAlphaFlagBitsKHR VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkDisplayPlaneAlphaFlagsKHR = VkDisplayPlaneAlphaFlagBitsKHR
pattern VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = VkDisplayPlaneAlphaFlagBitsKHR 0x1
pattern VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = VkDisplayPlaneAlphaFlagBitsKHR 0x2
pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = VkDisplayPlaneAlphaFlagBitsKHR 0x4
pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = VkDisplayPlaneAlphaFlagBitsKHR 0x8
newtype VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformFlagBitsKHR VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkSurfaceTransformFlagsKHR = VkSurfaceTransformFlagBitsKHR
pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = VkSurfaceTransformFlagBitsKHR 0x1
pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = VkSurfaceTransformFlagBitsKHR 0x2
pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = VkSurfaceTransformFlagBitsKHR 0x4
pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = VkSurfaceTransformFlagBitsKHR 0x8
pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = VkSurfaceTransformFlagBitsKHR 0x10
pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = VkSurfaceTransformFlagBitsKHR 0x20
pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = VkSurfaceTransformFlagBitsKHR 0x40
pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = VkSurfaceTransformFlagBitsKHR 0x80
pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = VkSurfaceTransformFlagBitsKHR 0x100
newtype VkSwapchainCreateFlagsKHR = VkSwapchainCreateFlagsKHR VkFlags
deriving (Eq, Storable)
newtype VkDisplayModeCreateFlagsKHR = VkDisplayModeCreateFlagsKHR VkFlags
deriving (Eq, Storable)
newtype VkDisplaySurfaceCreateFlagsKHR = VkDisplaySurfaceCreateFlagsKHR VkFlags
deriving (Eq, Storable)
newtype VkAndroidSurfaceCreateFlagsKHR = VkAndroidSurfaceCreateFlagsKHR VkFlags
deriving (Eq, Storable)
newtype VkMirSurfaceCreateFlagsKHR = VkMirSurfaceCreateFlagsKHR VkFlags
deriving (Eq, Storable)
newtype VkWaylandSurfaceCreateFlagsKHR = VkWaylandSurfaceCreateFlagsKHR VkFlags
deriving (Eq, Storable)
newtype VkWin32SurfaceCreateFlagsKHR = VkWin32SurfaceCreateFlagsKHR VkFlags
deriving (Eq, Storable)
newtype VkXlibSurfaceCreateFlagsKHR = VkXlibSurfaceCreateFlagsKHR VkFlags
deriving (Eq, Storable)
newtype VkXcbSurfaceCreateFlagsKHR = VkXcbSurfaceCreateFlagsKHR VkFlags
deriving (Eq, Storable)
newtype VkDebugReportFlagBitsEXT = VkDebugReportFlagBitsEXT VkFlags
deriving (Eq, Storable, Bits, FiniteBits)
type VkDebugReportFlagsEXT = VkDebugReportFlagBitsEXT
pattern VK_DEBUG_REPORT_INFORMATION_BIT_EXT = VkDebugReportFlagBitsEXT 0x1
pattern VK_DEBUG_REPORT_WARNING_BIT_EXT = VkDebugReportFlagBitsEXT 0x2
pattern VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = VkDebugReportFlagBitsEXT 0x4
pattern VK_DEBUG_REPORT_ERROR_BIT_EXT = VkDebugReportFlagBitsEXT 0x8
pattern VK_DEBUG_REPORT_DEBUG_BIT_EXT = VkDebugReportFlagBitsEXT 0x10
newtype VkImageLayout = VkImageLayout Int32
deriving (Eq, Storable)
pattern VK_IMAGE_LAYOUT_UNDEFINED = VkImageLayout 0
pattern VK_IMAGE_LAYOUT_GENERAL = VkImageLayout 1
pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = VkImageLayout 2
pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = VkImageLayout 3
pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = VkImageLayout 4
pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = VkImageLayout 5
pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = VkImageLayout 6
pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = VkImageLayout 7
pattern VK_IMAGE_LAYOUT_PREINITIALIZED = VkImageLayout 8
newtype VkAttachmentLoadOp = VkAttachmentLoadOp Int32
deriving (Eq, Storable)
pattern VK_ATTACHMENT_LOAD_OP_LOAD = VkAttachmentLoadOp 0
pattern VK_ATTACHMENT_LOAD_OP_CLEAR = VkAttachmentLoadOp 1
pattern VK_ATTACHMENT_LOAD_OP_DONT_CARE = VkAttachmentLoadOp 2
newtype VkAttachmentStoreOp = VkAttachmentStoreOp Int32
deriving (Eq, Storable)
pattern VK_ATTACHMENT_STORE_OP_STORE = VkAttachmentStoreOp 0
pattern VK_ATTACHMENT_STORE_OP_DONT_CARE = VkAttachmentStoreOp 1
newtype VkImageType = VkImageType Int32
deriving (Eq, Storable)
pattern VK_IMAGE_TYPE_1D = VkImageType 0
pattern VK_IMAGE_TYPE_2D = VkImageType 1
pattern VK_IMAGE_TYPE_3D = VkImageType 2
newtype VkImageTiling = VkImageTiling Int32
deriving (Eq, Storable)
pattern VK_IMAGE_TILING_OPTIMAL = VkImageTiling 0
pattern VK_IMAGE_TILING_LINEAR = VkImageTiling 1
newtype VkImageViewType = VkImageViewType Int32
deriving (Eq, Storable)
pattern VK_IMAGE_VIEW_TYPE_1D = VkImageViewType 0
pattern VK_IMAGE_VIEW_TYPE_2D = VkImageViewType 1
pattern VK_IMAGE_VIEW_TYPE_3D = VkImageViewType 2
pattern VK_IMAGE_VIEW_TYPE_CUBE = VkImageViewType 3
pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY = VkImageViewType 4
pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY = VkImageViewType 5
pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = VkImageViewType 6
newtype VkCommandBufferLevel = VkCommandBufferLevel Int32
deriving (Eq, Storable)
pattern VK_COMMAND_BUFFER_LEVEL_PRIMARY = VkCommandBufferLevel 0
pattern VK_COMMAND_BUFFER_LEVEL_SECONDARY = VkCommandBufferLevel 1
newtype VkComponentSwizzle = VkComponentSwizzle Int32
deriving (Eq, Storable)
pattern VK_COMPONENT_SWIZZLE_IDENTITY = VkComponentSwizzle 0
pattern VK_COMPONENT_SWIZZLE_ZERO = VkComponentSwizzle 1
pattern VK_COMPONENT_SWIZZLE_ONE = VkComponentSwizzle 2
pattern VK_COMPONENT_SWIZZLE_R = VkComponentSwizzle 3
pattern VK_COMPONENT_SWIZZLE_G = VkComponentSwizzle 4
pattern VK_COMPONENT_SWIZZLE_B = VkComponentSwizzle 5
pattern VK_COMPONENT_SWIZZLE_A = VkComponentSwizzle 6
newtype VkDescriptorType = VkDescriptorType Int32
deriving (Eq, Storable)
pattern VK_DESCRIPTOR_TYPE_SAMPLER = VkDescriptorType 0
pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = VkDescriptorType 1
pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = VkDescriptorType 2
pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = VkDescriptorType 3
pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = VkDescriptorType 4
pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = VkDescriptorType 5
pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = VkDescriptorType 6
pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = VkDescriptorType 7
pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = VkDescriptorType 8
pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = VkDescriptorType 9
pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = VkDescriptorType 10
newtype VkQueryType = VkQueryType Int32
deriving (Eq, Storable)
pattern VK_QUERY_TYPE_OCCLUSION = VkQueryType 0
pattern VK_QUERY_TYPE_PIPELINE_STATISTICS = VkQueryType 1
pattern VK_QUERY_TYPE_TIMESTAMP = VkQueryType 2
newtype VkBorderColor = VkBorderColor Int32
deriving (Eq, Storable)
pattern VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = VkBorderColor 0
pattern VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = VkBorderColor 1
pattern VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = VkBorderColor 2
pattern VK_BORDER_COLOR_INT_OPAQUE_BLACK = VkBorderColor 3
pattern VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = VkBorderColor 4
pattern VK_BORDER_COLOR_INT_OPAQUE_WHITE = VkBorderColor 5
newtype VkPipelineBindPoint = VkPipelineBindPoint Int32
deriving (Eq, Storable)
pattern VK_PIPELINE_BIND_POINT_GRAPHICS = VkPipelineBindPoint 0
pattern VK_PIPELINE_BIND_POINT_COMPUTE = VkPipelineBindPoint 1
newtype VkPipelineCacheHeaderVersion = VkPipelineCacheHeaderVersion Int32
deriving (Eq, Storable)
pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE = VkPipelineCacheHeaderVersion 1
newtype VkPrimitiveTopology = VkPrimitiveTopology Int32
deriving (Eq, Storable)
pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST = VkPrimitiveTopology 0
pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST = VkPrimitiveTopology 1
pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = VkPrimitiveTopology 2
pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = VkPrimitiveTopology 3
pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = VkPrimitiveTopology 4
pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = VkPrimitiveTopology 5
pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = VkPrimitiveTopology 6
pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = VkPrimitiveTopology 7
pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = VkPrimitiveTopology 8
pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = VkPrimitiveTopology 9
pattern VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = VkPrimitiveTopology 10
newtype VkSharingMode = VkSharingMode Int32
deriving (Eq, Storable)
pattern VK_SHARING_MODE_EXCLUSIVE = VkSharingMode 0
pattern VK_SHARING_MODE_CONCURRENT = VkSharingMode 1
newtype VkIndexType = VkIndexType Int32
deriving (Eq, Storable)
pattern VK_INDEX_TYPE_UINT16 = VkIndexType 0
pattern VK_INDEX_TYPE_UINT32 = VkIndexType 1
newtype VkFilter = VkFilter Int32
deriving (Eq, Storable)
pattern VK_FILTER_NEAREST = VkFilter 0
pattern VK_FILTER_LINEAR = VkFilter 1
newtype VkSamplerMipmapMode = VkSamplerMipmapMode Int32
deriving (Eq, Storable)
pattern VK_SAMPLER_MIPMAP_MODE_NEAREST = VkSamplerMipmapMode 0
pattern VK_SAMPLER_MIPMAP_MODE_LINEAR = VkSamplerMipmapMode 1
newtype VkSamplerAddressMode = VkSamplerAddressMode Int32
deriving (Eq, Storable)
pattern VK_SAMPLER_ADDRESS_MODE_REPEAT = VkSamplerAddressMode 0
pattern VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = VkSamplerAddressMode 1
pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = VkSamplerAddressMode 2
pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = VkSamplerAddressMode 3
pattern VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = VkSamplerAddressMode 4
newtype VkCompareOp = VkCompareOp Int32
deriving (Eq, Storable)
pattern VK_COMPARE_OP_NEVER = VkCompareOp 0
pattern VK_COMPARE_OP_LESS = VkCompareOp 1
pattern VK_COMPARE_OP_EQUAL = VkCompareOp 2
pattern VK_COMPARE_OP_LESS_OR_EQUAL = VkCompareOp 3
pattern VK_COMPARE_OP_GREATER = VkCompareOp 4
pattern VK_COMPARE_OP_NOT_EQUAL = VkCompareOp 5
pattern VK_COMPARE_OP_GREATER_OR_EQUAL = VkCompareOp 6
pattern VK_COMPARE_OP_ALWAYS = VkCompareOp 7
newtype VkPolygonMode = VkPolygonMode Int32
deriving (Eq, Storable)
pattern VK_POLYGON_MODE_FILL = VkPolygonMode 0
pattern VK_POLYGON_MODE_LINE = VkPolygonMode 1
pattern VK_POLYGON_MODE_POINT = VkPolygonMode 2
newtype VkFrontFace = VkFrontFace Int32
deriving (Eq, Storable)
pattern VK_FRONT_FACE_COUNTER_CLOCKWISE = VkFrontFace 0
pattern VK_FRONT_FACE_CLOCKWISE = VkFrontFace 1
newtype VkBlendFactor = VkBlendFactor Int32
deriving (Eq, Storable)
pattern VK_BLEND_FACTOR_ZERO = VkBlendFactor 0
pattern VK_BLEND_FACTOR_ONE = VkBlendFactor 1
pattern VK_BLEND_FACTOR_SRC_COLOR = VkBlendFactor 2
pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = VkBlendFactor 3
pattern VK_BLEND_FACTOR_DST_COLOR = VkBlendFactor 4
pattern VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = VkBlendFactor 5
pattern VK_BLEND_FACTOR_SRC_ALPHA = VkBlendFactor 6
pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = VkBlendFactor 7
pattern VK_BLEND_FACTOR_DST_ALPHA = VkBlendFactor 8
pattern VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = VkBlendFactor 9
pattern VK_BLEND_FACTOR_CONSTANT_COLOR = VkBlendFactor 10
pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = VkBlendFactor 11
pattern VK_BLEND_FACTOR_CONSTANT_ALPHA = VkBlendFactor 12
pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = VkBlendFactor 13
pattern VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = VkBlendFactor 14
pattern VK_BLEND_FACTOR_SRC1_COLOR = VkBlendFactor 15
pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = VkBlendFactor 16
pattern VK_BLEND_FACTOR_SRC1_ALPHA = VkBlendFactor 17
pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = VkBlendFactor 18
newtype VkBlendOp = VkBlendOp Int32
deriving (Eq, Storable)
pattern VK_BLEND_OP_ADD = VkBlendOp 0
pattern VK_BLEND_OP_SUBTRACT = VkBlendOp 1
pattern VK_BLEND_OP_REVERSE_SUBTRACT = VkBlendOp 2
pattern VK_BLEND_OP_MIN = VkBlendOp 3
pattern VK_BLEND_OP_MAX = VkBlendOp 4
newtype VkStencilOp = VkStencilOp Int32
deriving (Eq, Storable)
pattern VK_STENCIL_OP_KEEP = VkStencilOp 0
pattern VK_STENCIL_OP_ZERO = VkStencilOp 1
pattern VK_STENCIL_OP_REPLACE = VkStencilOp 2
pattern VK_STENCIL_OP_INCREMENT_AND_CLAMP = VkStencilOp 3
pattern VK_STENCIL_OP_DECREMENT_AND_CLAMP = VkStencilOp 4
pattern VK_STENCIL_OP_INVERT = VkStencilOp 5
pattern VK_STENCIL_OP_INCREMENT_AND_WRAP = VkStencilOp 6
pattern VK_STENCIL_OP_DECREMENT_AND_WRAP = VkStencilOp 7
newtype VkLogicOp = VkLogicOp Int32
deriving (Eq, Storable)
pattern VK_LOGIC_OP_CLEAR = VkLogicOp 0
pattern VK_LOGIC_OP_AND = VkLogicOp 1
pattern VK_LOGIC_OP_AND_REVERSE = VkLogicOp 2
pattern VK_LOGIC_OP_COPY = VkLogicOp 3
pattern VK_LOGIC_OP_AND_INVERTED = VkLogicOp 4
pattern VK_LOGIC_OP_NO_OP = VkLogicOp 5
pattern VK_LOGIC_OP_XOR = VkLogicOp 6
pattern VK_LOGIC_OP_OR = VkLogicOp 7
pattern VK_LOGIC_OP_NOR = VkLogicOp 8
pattern VK_LOGIC_OP_EQUIVALENT = VkLogicOp 9
pattern VK_LOGIC_OP_INVERT = VkLogicOp 10
pattern VK_LOGIC_OP_OR_REVERSE = VkLogicOp 11
pattern VK_LOGIC_OP_COPY_INVERTED = VkLogicOp 12
pattern VK_LOGIC_OP_OR_INVERTED = VkLogicOp 13
pattern VK_LOGIC_OP_NAND = VkLogicOp 14
pattern VK_LOGIC_OP_SET = VkLogicOp 15
newtype VkInternalAllocationType = VkInternalAllocationType Int32
deriving (Eq, Storable)
pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = VkInternalAllocationType 0
newtype VkSystemAllocationScope = VkSystemAllocationScope Int32
deriving (Eq, Storable)
pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = VkSystemAllocationScope 0
pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = VkSystemAllocationScope 1
pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE = VkSystemAllocationScope 2
pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = VkSystemAllocationScope 3
pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = VkSystemAllocationScope 4
newtype VkPhysicalDeviceType = VkPhysicalDeviceType Int32
deriving (Eq, Storable)
pattern VK_PHYSICAL_DEVICE_TYPE_OTHER = VkPhysicalDeviceType 0
pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = VkPhysicalDeviceType 1
pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = VkPhysicalDeviceType 2
pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = VkPhysicalDeviceType 3
pattern VK_PHYSICAL_DEVICE_TYPE_CPU = VkPhysicalDeviceType 4
newtype VkVertexInputRate = VkVertexInputRate Int32
deriving (Eq, Storable)
pattern VK_VERTEX_INPUT_RATE_VERTEX = VkVertexInputRate 0
pattern VK_VERTEX_INPUT_RATE_INSTANCE = VkVertexInputRate 1
newtype VkFormat = VkFormat Int32
deriving (Eq, Storable)
pattern VK_FORMAT_UNDEFINED = VkFormat 0
pattern VK_FORMAT_R4G4_UNORM_PACK8 = VkFormat 1
pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 = VkFormat 2
pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 = VkFormat 3
pattern VK_FORMAT_R5G6B5_UNORM_PACK16 = VkFormat 4
pattern VK_FORMAT_B5G6R5_UNORM_PACK16 = VkFormat 5
pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 = VkFormat 6
pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 = VkFormat 7
pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 = VkFormat 8
pattern VK_FORMAT_R8_UNORM = VkFormat 9
pattern VK_FORMAT_R8_SNORM = VkFormat 10
pattern VK_FORMAT_R8_USCALED = VkFormat 11
pattern VK_FORMAT_R8_SSCALED = VkFormat 12
pattern VK_FORMAT_R8_UINT = VkFormat 13
pattern VK_FORMAT_R8_SINT = VkFormat 14
pattern VK_FORMAT_R8_SRGB = VkFormat 15
pattern VK_FORMAT_R8G8_UNORM = VkFormat 16
pattern VK_FORMAT_R8G8_SNORM = VkFormat 17
pattern VK_FORMAT_R8G8_USCALED = VkFormat 18
pattern VK_FORMAT_R8G8_SSCALED = VkFormat 19
pattern VK_FORMAT_R8G8_UINT = VkFormat 20
pattern VK_FORMAT_R8G8_SINT = VkFormat 21
pattern VK_FORMAT_R8G8_SRGB = VkFormat 22
pattern VK_FORMAT_R8G8B8_UNORM = VkFormat 23
pattern VK_FORMAT_R8G8B8_SNORM = VkFormat 24
pattern VK_FORMAT_R8G8B8_USCALED = VkFormat 25
pattern VK_FORMAT_R8G8B8_SSCALED = VkFormat 26
pattern VK_FORMAT_R8G8B8_UINT = VkFormat 27
pattern VK_FORMAT_R8G8B8_SINT = VkFormat 28
pattern VK_FORMAT_R8G8B8_SRGB = VkFormat 29
pattern VK_FORMAT_B8G8R8_UNORM = VkFormat 30
pattern VK_FORMAT_B8G8R8_SNORM = VkFormat 31
pattern VK_FORMAT_B8G8R8_USCALED = VkFormat 32
pattern VK_FORMAT_B8G8R8_SSCALED = VkFormat 33
pattern VK_FORMAT_B8G8R8_UINT = VkFormat 34
pattern VK_FORMAT_B8G8R8_SINT = VkFormat 35
pattern VK_FORMAT_B8G8R8_SRGB = VkFormat 36
pattern VK_FORMAT_R8G8B8A8_UNORM = VkFormat 37
pattern VK_FORMAT_R8G8B8A8_SNORM = VkFormat 38
pattern VK_FORMAT_R8G8B8A8_USCALED = VkFormat 39
pattern VK_FORMAT_R8G8B8A8_SSCALED = VkFormat 40
pattern VK_FORMAT_R8G8B8A8_UINT = VkFormat 41
pattern VK_FORMAT_R8G8B8A8_SINT = VkFormat 42
pattern VK_FORMAT_R8G8B8A8_SRGB = VkFormat 43
pattern VK_FORMAT_B8G8R8A8_UNORM = VkFormat 44
pattern VK_FORMAT_B8G8R8A8_SNORM = VkFormat 45
pattern VK_FORMAT_B8G8R8A8_USCALED = VkFormat 46
pattern VK_FORMAT_B8G8R8A8_SSCALED = VkFormat 47
pattern VK_FORMAT_B8G8R8A8_UINT = VkFormat 48
pattern VK_FORMAT_B8G8R8A8_SINT = VkFormat 49
pattern VK_FORMAT_B8G8R8A8_SRGB = VkFormat 50
pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 = VkFormat 51
pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 = VkFormat 52
pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 = VkFormat 53
pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = VkFormat 54
pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 = VkFormat 55
pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 = VkFormat 56
pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 = VkFormat 57
pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 = VkFormat 58
pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 = VkFormat 59
pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 = VkFormat 60
pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = VkFormat 61
pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 = VkFormat 62
pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 = VkFormat 63
pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 = VkFormat 64
pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 = VkFormat 65
pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 = VkFormat 66
pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = VkFormat 67
pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 = VkFormat 68
pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 = VkFormat 69
pattern VK_FORMAT_R16_UNORM = VkFormat 70
pattern VK_FORMAT_R16_SNORM = VkFormat 71
pattern VK_FORMAT_R16_USCALED = VkFormat 72
pattern VK_FORMAT_R16_SSCALED = VkFormat 73
pattern VK_FORMAT_R16_UINT = VkFormat 74
pattern VK_FORMAT_R16_SINT = VkFormat 75
pattern VK_FORMAT_R16_SFLOAT = VkFormat 76
pattern VK_FORMAT_R16G16_UNORM = VkFormat 77
pattern VK_FORMAT_R16G16_SNORM = VkFormat 78
pattern VK_FORMAT_R16G16_USCALED = VkFormat 79
pattern VK_FORMAT_R16G16_SSCALED = VkFormat 80
pattern VK_FORMAT_R16G16_UINT = VkFormat 81
pattern VK_FORMAT_R16G16_SINT = VkFormat 82
pattern VK_FORMAT_R16G16_SFLOAT = VkFormat 83
pattern VK_FORMAT_R16G16B16_UNORM = VkFormat 84
pattern VK_FORMAT_R16G16B16_SNORM = VkFormat 85
pattern VK_FORMAT_R16G16B16_USCALED = VkFormat 86
pattern VK_FORMAT_R16G16B16_SSCALED = VkFormat 87
pattern VK_FORMAT_R16G16B16_UINT = VkFormat 88
pattern VK_FORMAT_R16G16B16_SINT = VkFormat 89
pattern VK_FORMAT_R16G16B16_SFLOAT = VkFormat 90
pattern VK_FORMAT_R16G16B16A16_UNORM = VkFormat 91
pattern VK_FORMAT_R16G16B16A16_SNORM = VkFormat 92
pattern VK_FORMAT_R16G16B16A16_USCALED = VkFormat 93
pattern VK_FORMAT_R16G16B16A16_SSCALED = VkFormat 94
pattern VK_FORMAT_R16G16B16A16_UINT = VkFormat 95
pattern VK_FORMAT_R16G16B16A16_SINT = VkFormat 96
pattern VK_FORMAT_R16G16B16A16_SFLOAT = VkFormat 97
pattern VK_FORMAT_R32_UINT = VkFormat 98
pattern VK_FORMAT_R32_SINT = VkFormat 99
pattern VK_FORMAT_R32_SFLOAT = VkFormat 100
pattern VK_FORMAT_R32G32_UINT = VkFormat 101
pattern VK_FORMAT_R32G32_SINT = VkFormat 102
pattern VK_FORMAT_R32G32_SFLOAT = VkFormat 103
pattern VK_FORMAT_R32G32B32_UINT = VkFormat 104
pattern VK_FORMAT_R32G32B32_SINT = VkFormat 105
pattern VK_FORMAT_R32G32B32_SFLOAT = VkFormat 106
pattern VK_FORMAT_R32G32B32A32_UINT = VkFormat 107
pattern VK_FORMAT_R32G32B32A32_SINT = VkFormat 108
pattern VK_FORMAT_R32G32B32A32_SFLOAT = VkFormat 109
pattern VK_FORMAT_R64_UINT = VkFormat 110
pattern VK_FORMAT_R64_SINT = VkFormat 111
pattern VK_FORMAT_R64_SFLOAT = VkFormat 112
pattern VK_FORMAT_R64G64_UINT = VkFormat 113
pattern VK_FORMAT_R64G64_SINT = VkFormat 114
pattern VK_FORMAT_R64G64_SFLOAT = VkFormat 115
pattern VK_FORMAT_R64G64B64_UINT = VkFormat 116
pattern VK_FORMAT_R64G64B64_SINT = VkFormat 117
pattern VK_FORMAT_R64G64B64_SFLOAT = VkFormat 118
pattern VK_FORMAT_R64G64B64A64_UINT = VkFormat 119
pattern VK_FORMAT_R64G64B64A64_SINT = VkFormat 120
pattern VK_FORMAT_R64G64B64A64_SFLOAT = VkFormat 121
pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 = VkFormat 122
pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = VkFormat 123
pattern VK_FORMAT_D16_UNORM = VkFormat 124
pattern VK_FORMAT_X8_D24_UNORM_PACK32 = VkFormat 125
pattern VK_FORMAT_D32_SFLOAT = VkFormat 126
pattern VK_FORMAT_S8_UINT = VkFormat 127
pattern VK_FORMAT_D16_UNORM_S8_UINT = VkFormat 128
pattern VK_FORMAT_D24_UNORM_S8_UINT = VkFormat 129
pattern VK_FORMAT_D32_SFLOAT_S8_UINT = VkFormat 130
pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK = VkFormat 131
pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK = VkFormat 132
pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK = VkFormat 133
pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK = VkFormat 134
pattern VK_FORMAT_BC2_UNORM_BLOCK = VkFormat 135
pattern VK_FORMAT_BC2_SRGB_BLOCK = VkFormat 136
pattern VK_FORMAT_BC3_UNORM_BLOCK = VkFormat 137
pattern VK_FORMAT_BC3_SRGB_BLOCK = VkFormat 138
pattern VK_FORMAT_BC4_UNORM_BLOCK = VkFormat 139
pattern VK_FORMAT_BC4_SNORM_BLOCK = VkFormat 140
pattern VK_FORMAT_BC5_UNORM_BLOCK = VkFormat 141
pattern VK_FORMAT_BC5_SNORM_BLOCK = VkFormat 142
pattern VK_FORMAT_BC6H_UFLOAT_BLOCK = VkFormat 143
pattern VK_FORMAT_BC6H_SFLOAT_BLOCK = VkFormat 144
pattern VK_FORMAT_BC7_UNORM_BLOCK = VkFormat 145
pattern VK_FORMAT_BC7_SRGB_BLOCK = VkFormat 146
pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = VkFormat 147
pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = VkFormat 148
pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = VkFormat 149
pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = VkFormat 150
pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = VkFormat 151
pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = VkFormat 152
pattern VK_FORMAT_EAC_R11_UNORM_BLOCK = VkFormat 153
pattern VK_FORMAT_EAC_R11_SNORM_BLOCK = VkFormat 154
pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK = VkFormat 155
pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK = VkFormat 156
pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK = VkFormat 157
pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK = VkFormat 158
pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK = VkFormat 159
pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK = VkFormat 160
pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK = VkFormat 161
pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK = VkFormat 162
pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK = VkFormat 163
pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK = VkFormat 164
pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK = VkFormat 165
pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK = VkFormat 166
pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK = VkFormat 167
pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK = VkFormat 168
pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK = VkFormat 169
pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK = VkFormat 170
pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK = VkFormat 171
pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK = VkFormat 172
pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK = VkFormat 173
pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK = VkFormat 174
pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK = VkFormat 175
pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK = VkFormat 176
pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK = VkFormat 177
pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK = VkFormat 178
pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK = VkFormat 179
pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK = VkFormat 180
pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK = VkFormat 181
pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK = VkFormat 182
pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK = VkFormat 183
pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK = VkFormat 184
newtype VkStructureType = VkStructureType Int32
deriving (Eq, Storable)
pattern VK_STRUCTURE_TYPE_APPLICATION_INFO = VkStructureType 0
pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = VkStructureType 1
pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = VkStructureType 2
pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = VkStructureType 3
pattern VK_STRUCTURE_TYPE_SUBMIT_INFO = VkStructureType 4
pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = VkStructureType 5
pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = VkStructureType 6
pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = VkStructureType 7
pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = VkStructureType 8
pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = VkStructureType 9
pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = VkStructureType 10
pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = VkStructureType 11
pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = VkStructureType 12
pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = VkStructureType 13
pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = VkStructureType 14
pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = VkStructureType 15
pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = VkStructureType 16
pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = VkStructureType 17
pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = VkStructureType 18
pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = VkStructureType 19
pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = VkStructureType 20
pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = VkStructureType 21
pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = VkStructureType 22
pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = VkStructureType 23
pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = VkStructureType 24
pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = VkStructureType 25
pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = VkStructureType 26
pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = VkStructureType 27
pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = VkStructureType 28
pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = VkStructureType 29
pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = VkStructureType 30
pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = VkStructureType 31
pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = VkStructureType 32
pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = VkStructureType 33
pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = VkStructureType 34
pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = VkStructureType 35
pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = VkStructureType 36
pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = VkStructureType 37
pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = VkStructureType 38
pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = VkStructureType 39
pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = VkStructureType 40
pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = VkStructureType 41
pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = VkStructureType 42
pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = VkStructureType 43
pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = VkStructureType 44
pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = VkStructureType 45
pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER = VkStructureType 46
pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = VkStructureType 47
pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = VkStructureType 48
newtype VkSubpassContents = VkSubpassContents Int32
deriving (Eq, Storable)
pattern VK_SUBPASS_CONTENTS_INLINE = VkSubpassContents 0
pattern VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = VkSubpassContents 1
newtype VkResult = VkResult Int32
deriving (Eq, Storable)
pattern VK_SUCCESS = VkResult 0
pattern VK_NOT_READY = VkResult 1
pattern VK_TIMEOUT = VkResult 2
pattern VK_EVENT_SET = VkResult 3
pattern VK_EVENT_RESET = VkResult 4
pattern VK_INCOMPLETE = VkResult 5
pattern VK_ERROR_OUT_OF_HOST_MEMORY = VkResult (1)
pattern VK_ERROR_OUT_OF_DEVICE_MEMORY = VkResult (2)
pattern VK_ERROR_INITIALIZATION_FAILED = VkResult (3)
pattern VK_ERROR_DEVICE_LOST = VkResult (4)
pattern VK_ERROR_MEMORY_MAP_FAILED = VkResult (5)
pattern VK_ERROR_LAYER_NOT_PRESENT = VkResult (6)
pattern VK_ERROR_EXTENSION_NOT_PRESENT = VkResult (7)
pattern VK_ERROR_FEATURE_NOT_PRESENT = VkResult (8)
pattern VK_ERROR_INCOMPATIBLE_DRIVER = VkResult (9)
pattern VK_ERROR_TOO_MANY_OBJECTS = VkResult (10)
pattern VK_ERROR_FORMAT_NOT_SUPPORTED = VkResult (11)
newtype VkDynamicState = VkDynamicState Int32
deriving (Eq, Storable)
pattern VK_DYNAMIC_STATE_VIEWPORT = VkDynamicState 0
pattern VK_DYNAMIC_STATE_SCISSOR = VkDynamicState 1
pattern VK_DYNAMIC_STATE_LINE_WIDTH = VkDynamicState 2
pattern VK_DYNAMIC_STATE_DEPTH_BIAS = VkDynamicState 3
pattern VK_DYNAMIC_STATE_BLEND_CONSTANTS = VkDynamicState 4
pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS = VkDynamicState 5
pattern VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = VkDynamicState 6
pattern VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = VkDynamicState 7
pattern VK_DYNAMIC_STATE_STENCIL_REFERENCE = VkDynamicState 8
newtype VkPresentModeKHR = VkPresentModeKHR Int32
deriving (Eq, Storable)
pattern VK_PRESENT_MODE_IMMEDIATE_KHR = VkPresentModeKHR 0
pattern VK_PRESENT_MODE_MAILBOX_KHR = VkPresentModeKHR 1
pattern VK_PRESENT_MODE_FIFO_KHR = VkPresentModeKHR 2
pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR = VkPresentModeKHR 3
newtype VkColorSpaceKHR = VkColorSpaceKHR Int32
deriving (Eq, Storable)
pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR = VkColorSpaceKHR 0
newtype VkDebugReportObjectTypeEXT = VkDebugReportObjectTypeEXT Int32
deriving (Eq, Storable)
pattern VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = VkDebugReportObjectTypeEXT 0
pattern VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = VkDebugReportObjectTypeEXT 1
pattern VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = VkDebugReportObjectTypeEXT 2
pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = VkDebugReportObjectTypeEXT 3
pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = VkDebugReportObjectTypeEXT 4
pattern VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = VkDebugReportObjectTypeEXT 5
pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = VkDebugReportObjectTypeEXT 6
pattern VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = VkDebugReportObjectTypeEXT 7
pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = VkDebugReportObjectTypeEXT 8
pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = VkDebugReportObjectTypeEXT 9
pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = VkDebugReportObjectTypeEXT 10
pattern VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = VkDebugReportObjectTypeEXT 11
pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = VkDebugReportObjectTypeEXT 12
pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = VkDebugReportObjectTypeEXT 13
pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = VkDebugReportObjectTypeEXT 14
pattern VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = VkDebugReportObjectTypeEXT 15
pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = VkDebugReportObjectTypeEXT 16
pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = VkDebugReportObjectTypeEXT 17
pattern VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = VkDebugReportObjectTypeEXT 18
pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = VkDebugReportObjectTypeEXT 19
pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = VkDebugReportObjectTypeEXT 20
pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = VkDebugReportObjectTypeEXT 21
pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = VkDebugReportObjectTypeEXT 22
pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = VkDebugReportObjectTypeEXT 23
pattern VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = VkDebugReportObjectTypeEXT 24
pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = VkDebugReportObjectTypeEXT 25
pattern VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = VkDebugReportObjectTypeEXT 26
pattern VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = VkDebugReportObjectTypeEXT 27
pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VkDebugReportObjectTypeEXT 28
newtype VkDebugReportErrorEXT = VkDebugReportErrorEXT Int32
deriving (Eq, Storable)
pattern VK_DEBUG_REPORT_ERROR_NONE_EXT = VkDebugReportErrorEXT 0
pattern VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT = VkDebugReportErrorEXT 1
data VkOffset2D =
VkOffset2D{ vkX :: Int32
, vkY :: Int32
}
deriving (Eq)
instance Storable VkOffset2D where
sizeOf ~_ = 8
alignment ~_ = 4
peek ptr = VkOffset2D <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
poke ptr poked = poke (ptr `plusPtr` 0) (vkX (poked :: VkOffset2D))
*> poke (ptr `plusPtr` 4) (vkY (poked :: VkOffset2D))
data VkOffset3D =
VkOffset3D{ vkX :: Int32
, vkY :: Int32
, vkZ :: Int32
}
deriving (Eq)
instance Storable VkOffset3D where
sizeOf ~_ = 12
alignment ~_ = 4
peek ptr = VkOffset3D <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
poke ptr poked = poke (ptr `plusPtr` 0) (vkX (poked :: VkOffset3D))
*> poke (ptr `plusPtr` 4) (vkY (poked :: VkOffset3D))
*> poke (ptr `plusPtr` 8) (vkZ (poked :: VkOffset3D))
data VkExtent2D =
VkExtent2D{ vkWidth :: Word32
, vkHeight :: Word32
}
deriving (Eq)
instance Storable VkExtent2D where
sizeOf ~_ = 8
alignment ~_ = 4
peek ptr = VkExtent2D <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
poke ptr poked = poke (ptr `plusPtr` 0) (vkWidth (poked :: VkExtent2D))
*> poke (ptr `plusPtr` 4) (vkHeight (poked :: VkExtent2D))
data VkExtent3D =
VkExtent3D{ vkWidth :: Word32
, vkHeight :: Word32
, vkDepth :: Word32
}
deriving (Eq)
instance Storable VkExtent3D where
sizeOf ~_ = 12
alignment ~_ = 4
peek ptr = VkExtent3D <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
poke ptr poked = poke (ptr `plusPtr` 0) (vkWidth (poked :: VkExtent3D))
*> poke (ptr `plusPtr` 4) (vkHeight (poked :: VkExtent3D))
*> poke (ptr `plusPtr` 8) (vkDepth (poked :: VkExtent3D))
data VkViewport =
VkViewport{ vkX :: CFloat
, vkY :: CFloat
, vkWidth :: CFloat
, vkHeight :: CFloat
, vkMinDepth :: CFloat
, vkMaxDepth :: CFloat
}
deriving (Eq)
instance Storable VkViewport where
sizeOf ~_ = 24
alignment ~_ = 4
peek ptr = VkViewport <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
poke ptr poked = poke (ptr `plusPtr` 0) (vkX (poked :: VkViewport))
*> poke (ptr `plusPtr` 4) (vkY (poked :: VkViewport))
*> poke (ptr `plusPtr` 8) (vkWidth (poked :: VkViewport))
*> poke (ptr `plusPtr` 12) (vkHeight (poked :: VkViewport))
*> poke (ptr `plusPtr` 16) (vkMinDepth (poked :: VkViewport))
*> poke (ptr `plusPtr` 20) (vkMaxDepth (poked :: VkViewport))
data VkRect2D =
VkRect2D{ vkOffset :: VkOffset2D
, vkExtent :: VkExtent2D
}
deriving (Eq)
instance Storable VkRect2D where
sizeOf ~_ = 16
alignment ~_ = 4
peek ptr = VkRect2D <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
poke ptr poked = poke (ptr `plusPtr` 0) (vkOffset (poked :: VkRect2D))
*> poke (ptr `plusPtr` 8) (vkExtent (poked :: VkRect2D))
data VkRect3D =
VkRect3D{ vkOffset :: VkOffset3D
, vkExtent :: VkExtent3D
}
deriving (Eq)
instance Storable VkRect3D where
sizeOf ~_ = 24
alignment ~_ = 4
peek ptr = VkRect3D <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 12)
poke ptr poked = poke (ptr `plusPtr` 0) (vkOffset (poked :: VkRect3D))
*> poke (ptr `plusPtr` 12) (vkExtent (poked :: VkRect3D))
data VkClearRect =
VkClearRect{ vkRect :: VkRect2D
, vkBaseArrayLayer :: Word32
, vkLayerCount :: Word32
}
deriving (Eq)
instance Storable VkClearRect where
sizeOf ~_ = 24
alignment ~_ = 4
peek ptr = VkClearRect <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
poke ptr poked = poke (ptr `plusPtr` 0) (vkRect (poked :: VkClearRect))
*> poke (ptr `plusPtr` 16) (vkBaseArrayLayer (poked :: VkClearRect))
*> poke (ptr `plusPtr` 20) (vkLayerCount (poked :: VkClearRect))
data VkComponentMapping =
VkComponentMapping{ vkR :: VkComponentSwizzle
, vkG :: VkComponentSwizzle
, vkB :: VkComponentSwizzle
, vkA :: VkComponentSwizzle
}
deriving (Eq)
instance Storable VkComponentMapping where
sizeOf ~_ = 16
alignment ~_ = 4
peek ptr = VkComponentMapping <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
poke ptr poked = poke (ptr `plusPtr` 0) (vkR (poked :: VkComponentMapping))
*> poke (ptr `plusPtr` 4) (vkG (poked :: VkComponentMapping))
*> poke (ptr `plusPtr` 8) (vkB (poked :: VkComponentMapping))
*> poke (ptr `plusPtr` 12) (vkA (poked :: VkComponentMapping))
data VkPhysicalDeviceProperties =
VkPhysicalDeviceProperties{ vkApiVersion :: Word32
, vkDriverVersion :: Word32
, vkVendorID :: Word32
, vkDeviceID :: Word32
, vkDeviceType :: VkPhysicalDeviceType
, vkDeviceName :: Vec (ToPeano VK_MAX_PHYSICAL_DEVICE_NAME_SIZE) CChar
, vkPipelineCacheUUID :: Vec (ToPeano VK_UUID_SIZE) Word8
, vkLimits :: VkPhysicalDeviceLimits
, vkSparseProperties :: VkPhysicalDeviceSparseProperties
}
deriving (Eq)
instance Storable VkPhysicalDeviceProperties where
sizeOf ~_ = 824
alignment ~_ = 8
peek ptr = VkPhysicalDeviceProperties <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 276)
<*> peek (ptr `plusPtr` 296)
<*> peek (ptr `plusPtr` 800)
poke ptr poked = poke (ptr `plusPtr` 0) (vkApiVersion (poked :: VkPhysicalDeviceProperties))
*> poke (ptr `plusPtr` 4) (vkDriverVersion (poked :: VkPhysicalDeviceProperties))
*> poke (ptr `plusPtr` 8) (vkVendorID (poked :: VkPhysicalDeviceProperties))
*> poke (ptr `plusPtr` 12) (vkDeviceID (poked :: VkPhysicalDeviceProperties))
*> poke (ptr `plusPtr` 16) (vkDeviceType (poked :: VkPhysicalDeviceProperties))
*> poke (ptr `plusPtr` 20) (vkDeviceName (poked :: VkPhysicalDeviceProperties))
*> poke (ptr `plusPtr` 276) (vkPipelineCacheUUID (poked :: VkPhysicalDeviceProperties))
*> poke (ptr `plusPtr` 296) (vkLimits (poked :: VkPhysicalDeviceProperties))
*> poke (ptr `plusPtr` 800) (vkSparseProperties (poked :: VkPhysicalDeviceProperties))
data VkExtensionProperties =
VkExtensionProperties{ vkExtensionName :: Vec (ToPeano VK_MAX_EXTENSION_NAME_SIZE) CChar
, vkSpecVersion :: Word32
}
deriving (Eq)
instance Storable VkExtensionProperties where
sizeOf ~_ = 260
alignment ~_ = 4
peek ptr = VkExtensionProperties <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 256)
poke ptr poked = poke (ptr `plusPtr` 0) (vkExtensionName (poked :: VkExtensionProperties))
*> poke (ptr `plusPtr` 256) (vkSpecVersion (poked :: VkExtensionProperties))
data VkLayerProperties =
VkLayerProperties{ vkLayerName :: Vec (ToPeano VK_MAX_EXTENSION_NAME_SIZE) CChar
, vkSpecVersion :: Word32
, vkImplementationVersion :: Word32
, vkDescription :: Vec (ToPeano VK_MAX_DESCRIPTION_SIZE) CChar
}
deriving (Eq)
instance Storable VkLayerProperties where
sizeOf ~_ = 520
alignment ~_ = 4
peek ptr = VkLayerProperties <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 256)
<*> peek (ptr `plusPtr` 260)
<*> peek (ptr `plusPtr` 264)
poke ptr poked = poke (ptr `plusPtr` 0) (vkLayerName (poked :: VkLayerProperties))
*> poke (ptr `plusPtr` 256) (vkSpecVersion (poked :: VkLayerProperties))
*> poke (ptr `plusPtr` 260) (vkImplementationVersion (poked :: VkLayerProperties))
*> poke (ptr `plusPtr` 264) (vkDescription (poked :: VkLayerProperties))
data VkApplicationInfo =
VkApplicationInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkPApplicationName :: Ptr CChar
, vkApplicationVersion :: Word32
, vkPEngineName :: Ptr CChar
, vkEngineVersion :: Word32
, vkApiVersion :: Word32
}
deriving (Eq)
instance Storable VkApplicationInfo where
sizeOf ~_ = 48
alignment ~_ = 8
peek ptr = VkApplicationInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 44)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkApplicationInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkApplicationInfo))
*> poke (ptr `plusPtr` 16) (vkPApplicationName (poked :: VkApplicationInfo))
*> poke (ptr `plusPtr` 24) (vkApplicationVersion (poked :: VkApplicationInfo))
*> poke (ptr `plusPtr` 32) (vkPEngineName (poked :: VkApplicationInfo))
*> poke (ptr `plusPtr` 40) (vkEngineVersion (poked :: VkApplicationInfo))
*> poke (ptr `plusPtr` 44) (vkApiVersion (poked :: VkApplicationInfo))
data VkAllocationCallbacks =
VkAllocationCallbacks{ vkPUserData :: Ptr Void
, vkPfnAllocation :: PFN_vkAllocationFunction
, vkPfnReallocation :: PFN_vkReallocationFunction
, vkPfnFree :: PFN_vkFreeFunction
, vkPfnInternalAllocation :: PFN_vkInternalAllocationNotification
, vkPfnInternalFree :: PFN_vkInternalFreeNotification
}
deriving (Eq)
instance Storable VkAllocationCallbacks where
sizeOf ~_ = 48
alignment ~_ = 8
peek ptr = VkAllocationCallbacks <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
poke ptr poked = poke (ptr `plusPtr` 0) (vkPUserData (poked :: VkAllocationCallbacks))
*> poke (ptr `plusPtr` 8) (vkPfnAllocation (poked :: VkAllocationCallbacks))
*> poke (ptr `plusPtr` 16) (vkPfnReallocation (poked :: VkAllocationCallbacks))
*> poke (ptr `plusPtr` 24) (vkPfnFree (poked :: VkAllocationCallbacks))
*> poke (ptr `plusPtr` 32) (vkPfnInternalAllocation (poked :: VkAllocationCallbacks))
*> poke (ptr `plusPtr` 40) (vkPfnInternalFree (poked :: VkAllocationCallbacks))
data VkDeviceQueueCreateInfo =
VkDeviceQueueCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkDeviceQueueCreateFlags
, vkQueueFamilyIndex :: Word32
, vkQueueCount :: Word32
, vkPQueuePriorities :: Ptr CFloat
}
deriving (Eq)
instance Storable VkDeviceQueueCreateInfo where
sizeOf ~_ = 40
alignment ~_ = 8
peek ptr = VkDeviceQueueCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkDeviceQueueCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkDeviceQueueCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkDeviceQueueCreateInfo))
*> poke (ptr `plusPtr` 20) (vkQueueFamilyIndex (poked :: VkDeviceQueueCreateInfo))
*> poke (ptr `plusPtr` 24) (vkQueueCount (poked :: VkDeviceQueueCreateInfo))
*> poke (ptr `plusPtr` 32) (vkPQueuePriorities (poked :: VkDeviceQueueCreateInfo))
data VkDeviceCreateInfo =
VkDeviceCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkDeviceCreateFlags
, vkQueueCreateInfoCount :: Word32
, vkPQueueCreateInfos :: Ptr VkDeviceQueueCreateInfo
, vkEnabledLayerCount :: Word32
, vkPpEnabledLayerNames :: Ptr (Ptr CChar)
, vkEnabledExtensionCount :: Word32
, vkPpEnabledExtensionNames :: Ptr (Ptr CChar)
, vkPEnabledFeatures :: Ptr VkPhysicalDeviceFeatures
}
deriving (Eq)
instance Storable VkDeviceCreateInfo where
sizeOf ~_ = 72
alignment ~_ = 8
peek ptr = VkDeviceCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 56)
<*> peek (ptr `plusPtr` 64)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkDeviceCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkDeviceCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkDeviceCreateInfo))
*> poke (ptr `plusPtr` 20) (vkQueueCreateInfoCount (poked :: VkDeviceCreateInfo))
*> poke (ptr `plusPtr` 24) (vkPQueueCreateInfos (poked :: VkDeviceCreateInfo))
*> poke (ptr `plusPtr` 32) (vkEnabledLayerCount (poked :: VkDeviceCreateInfo))
*> poke (ptr `plusPtr` 40) (vkPpEnabledLayerNames (poked :: VkDeviceCreateInfo))
*> poke (ptr `plusPtr` 48) (vkEnabledExtensionCount (poked :: VkDeviceCreateInfo))
*> poke (ptr `plusPtr` 56) (vkPpEnabledExtensionNames (poked :: VkDeviceCreateInfo))
*> poke (ptr `plusPtr` 64) (vkPEnabledFeatures (poked :: VkDeviceCreateInfo))
data VkInstanceCreateInfo =
VkInstanceCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkInstanceCreateFlags
, vkPApplicationInfo :: Ptr VkApplicationInfo
, vkEnabledLayerCount :: Word32
, vkPpEnabledLayerNames :: Ptr (Ptr CChar)
, vkEnabledExtensionCount :: Word32
, vkPpEnabledExtensionNames :: Ptr (Ptr CChar)
}
deriving (Eq)
instance Storable VkInstanceCreateInfo where
sizeOf ~_ = 64
alignment ~_ = 8
peek ptr = VkInstanceCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 56)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkInstanceCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkInstanceCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkInstanceCreateInfo))
*> poke (ptr `plusPtr` 24) (vkPApplicationInfo (poked :: VkInstanceCreateInfo))
*> poke (ptr `plusPtr` 32) (vkEnabledLayerCount (poked :: VkInstanceCreateInfo))
*> poke (ptr `plusPtr` 40) (vkPpEnabledLayerNames (poked :: VkInstanceCreateInfo))
*> poke (ptr `plusPtr` 48) (vkEnabledExtensionCount (poked :: VkInstanceCreateInfo))
*> poke (ptr `plusPtr` 56) (vkPpEnabledExtensionNames (poked :: VkInstanceCreateInfo))
data VkQueueFamilyProperties =
VkQueueFamilyProperties{ vkQueueFlags :: VkQueueFlags
, vkQueueCount :: Word32
, vkTimestampValidBits :: Word32
, vkMinImageTransferGranularity :: VkExtent3D
}
deriving (Eq)
instance Storable VkQueueFamilyProperties where
sizeOf ~_ = 24
alignment ~_ = 4
peek ptr = VkQueueFamilyProperties <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
poke ptr poked = poke (ptr `plusPtr` 0) (vkQueueFlags (poked :: VkQueueFamilyProperties))
*> poke (ptr `plusPtr` 4) (vkQueueCount (poked :: VkQueueFamilyProperties))
*> poke (ptr `plusPtr` 8) (vkTimestampValidBits (poked :: VkQueueFamilyProperties))
*> poke (ptr `plusPtr` 12) (vkMinImageTransferGranularity (poked :: VkQueueFamilyProperties))
data VkPhysicalDeviceMemoryProperties =
VkPhysicalDeviceMemoryProperties{ vkMemoryTypeCount :: Word32
, vkMemoryTypes :: Vec (ToPeano VK_MAX_MEMORY_TYPES) VkMemoryType
, vkMemoryHeapCount :: Word32
, vkMemoryHeaps :: Vec (ToPeano VK_MAX_MEMORY_HEAPS) VkMemoryHeap
}
deriving (Eq)
instance Storable VkPhysicalDeviceMemoryProperties where
sizeOf ~_ = 520
alignment ~_ = 8
peek ptr = VkPhysicalDeviceMemoryProperties <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 260)
<*> peek (ptr `plusPtr` 264)
poke ptr poked = poke (ptr `plusPtr` 0) (vkMemoryTypeCount (poked :: VkPhysicalDeviceMemoryProperties))
*> poke (ptr `plusPtr` 4) (vkMemoryTypes (poked :: VkPhysicalDeviceMemoryProperties))
*> poke (ptr `plusPtr` 260) (vkMemoryHeapCount (poked :: VkPhysicalDeviceMemoryProperties))
*> poke (ptr `plusPtr` 264) (vkMemoryHeaps (poked :: VkPhysicalDeviceMemoryProperties))
data VkMemoryAllocateInfo =
VkMemoryAllocateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkAllocationSize :: VkDeviceSize
, vkMemoryTypeIndex :: Word32
}
deriving (Eq)
instance Storable VkMemoryAllocateInfo where
sizeOf ~_ = 32
alignment ~_ = 8
peek ptr = VkMemoryAllocateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkMemoryAllocateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkMemoryAllocateInfo))
*> poke (ptr `plusPtr` 16) (vkAllocationSize (poked :: VkMemoryAllocateInfo))
*> poke (ptr `plusPtr` 24) (vkMemoryTypeIndex (poked :: VkMemoryAllocateInfo))
data VkMemoryRequirements =
VkMemoryRequirements{ vkSize :: VkDeviceSize
, vkAlignment :: VkDeviceSize
, vkMemoryTypeBits :: Word32
}
deriving (Eq)
instance Storable VkMemoryRequirements where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkMemoryRequirements <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSize (poked :: VkMemoryRequirements))
*> poke (ptr `plusPtr` 8) (vkAlignment (poked :: VkMemoryRequirements))
*> poke (ptr `plusPtr` 16) (vkMemoryTypeBits (poked :: VkMemoryRequirements))
data VkSparseImageFormatProperties =
VkSparseImageFormatProperties{ vkAspectMask :: VkImageAspectFlags
, vkImageGranularity :: VkExtent3D
, vkFlags :: VkSparseImageFormatFlags
}
deriving (Eq)
instance Storable VkSparseImageFormatProperties where
sizeOf ~_ = 20
alignment ~_ = 4
peek ptr = VkSparseImageFormatProperties <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkAspectMask (poked :: VkSparseImageFormatProperties))
*> poke (ptr `plusPtr` 4) (vkImageGranularity (poked :: VkSparseImageFormatProperties))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkSparseImageFormatProperties))
data VkSparseImageMemoryRequirements =
VkSparseImageMemoryRequirements{ vkFormatProperties :: VkSparseImageFormatProperties
, vkImageMipTailFirstLod :: Word32
, vkImageMipTailSize :: VkDeviceSize
, vkImageMipTailOffset :: VkDeviceSize
, vkImageMipTailStride :: VkDeviceSize
}
deriving (Eq)
instance Storable VkSparseImageMemoryRequirements where
sizeOf ~_ = 48
alignment ~_ = 8
peek ptr = VkSparseImageMemoryRequirements <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
poke ptr poked = poke (ptr `plusPtr` 0) (vkFormatProperties (poked :: VkSparseImageMemoryRequirements))
*> poke (ptr `plusPtr` 20) (vkImageMipTailFirstLod (poked :: VkSparseImageMemoryRequirements))
*> poke (ptr `plusPtr` 24) (vkImageMipTailSize (poked :: VkSparseImageMemoryRequirements))
*> poke (ptr `plusPtr` 32) (vkImageMipTailOffset (poked :: VkSparseImageMemoryRequirements))
*> poke (ptr `plusPtr` 40) (vkImageMipTailStride (poked :: VkSparseImageMemoryRequirements))
data VkMemoryType =
VkMemoryType{ vkPropertyFlags :: VkMemoryPropertyFlags
, vkHeapIndex :: Word32
}
deriving (Eq)
instance Storable VkMemoryType where
sizeOf ~_ = 8
alignment ~_ = 4
peek ptr = VkMemoryType <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
poke ptr poked = poke (ptr `plusPtr` 0) (vkPropertyFlags (poked :: VkMemoryType))
*> poke (ptr `plusPtr` 4) (vkHeapIndex (poked :: VkMemoryType))
data VkMemoryHeap =
VkMemoryHeap{ vkSize :: VkDeviceSize
, vkFlags :: VkMemoryHeapFlags
}
deriving (Eq)
instance Storable VkMemoryHeap where
sizeOf ~_ = 16
alignment ~_ = 8
peek ptr = VkMemoryHeap <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSize (poked :: VkMemoryHeap))
*> poke (ptr `plusPtr` 8) (vkFlags (poked :: VkMemoryHeap))
data VkMappedMemoryRange =
VkMappedMemoryRange{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkMemory :: VkDeviceMemory
, vkOffset :: VkDeviceSize
, vkSize :: VkDeviceSize
}
deriving (Eq)
instance Storable VkMappedMemoryRange where
sizeOf ~_ = 40
alignment ~_ = 8
peek ptr = VkMappedMemoryRange <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkMappedMemoryRange))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkMappedMemoryRange))
*> poke (ptr `plusPtr` 16) (vkMemory (poked :: VkMappedMemoryRange))
*> poke (ptr `plusPtr` 24) (vkOffset (poked :: VkMappedMemoryRange))
*> poke (ptr `plusPtr` 32) (vkSize (poked :: VkMappedMemoryRange))
data VkFormatProperties =
VkFormatProperties{ vkLinearTilingFeatures :: VkFormatFeatureFlags
, vkOptimalTilingFeatures :: VkFormatFeatureFlags
, vkBufferFeatures :: VkFormatFeatureFlags
}
deriving (Eq)
instance Storable VkFormatProperties where
sizeOf ~_ = 12
alignment ~_ = 4
peek ptr = VkFormatProperties <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
poke ptr poked = poke (ptr `plusPtr` 0) (vkLinearTilingFeatures (poked :: VkFormatProperties))
*> poke (ptr `plusPtr` 4) (vkOptimalTilingFeatures (poked :: VkFormatProperties))
*> poke (ptr `plusPtr` 8) (vkBufferFeatures (poked :: VkFormatProperties))
data VkImageFormatProperties =
VkImageFormatProperties{ vkMaxExtent :: VkExtent3D
, vkMaxMipLevels :: Word32
, vkMaxArrayLayers :: Word32
, vkSampleCounts :: VkSampleCountFlags
, vkMaxResourceSize :: VkDeviceSize
}
deriving (Eq)
instance Storable VkImageFormatProperties where
sizeOf ~_ = 32
alignment ~_ = 8
peek ptr = VkImageFormatProperties <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
poke ptr poked = poke (ptr `plusPtr` 0) (vkMaxExtent (poked :: VkImageFormatProperties))
*> poke (ptr `plusPtr` 12) (vkMaxMipLevels (poked :: VkImageFormatProperties))
*> poke (ptr `plusPtr` 16) (vkMaxArrayLayers (poked :: VkImageFormatProperties))
*> poke (ptr `plusPtr` 20) (vkSampleCounts (poked :: VkImageFormatProperties))
*> poke (ptr `plusPtr` 24) (vkMaxResourceSize (poked :: VkImageFormatProperties))
data VkDescriptorBufferInfo =
VkDescriptorBufferInfo{ vkBuffer :: VkBuffer
, vkOffset :: VkDeviceSize
, vkRange :: VkDeviceSize
}
deriving (Eq)
instance Storable VkDescriptorBufferInfo where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkDescriptorBufferInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkBuffer (poked :: VkDescriptorBufferInfo))
*> poke (ptr `plusPtr` 8) (vkOffset (poked :: VkDescriptorBufferInfo))
*> poke (ptr `plusPtr` 16) (vkRange (poked :: VkDescriptorBufferInfo))
data VkDescriptorImageInfo =
VkDescriptorImageInfo{ vkSampler :: VkSampler
, vkImageView :: VkImageView
, vkImageLayout :: VkImageLayout
}
deriving (Eq)
instance Storable VkDescriptorImageInfo where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkDescriptorImageInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSampler (poked :: VkDescriptorImageInfo))
*> poke (ptr `plusPtr` 8) (vkImageView (poked :: VkDescriptorImageInfo))
*> poke (ptr `plusPtr` 16) (vkImageLayout (poked :: VkDescriptorImageInfo))
data VkWriteDescriptorSet =
VkWriteDescriptorSet{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkDstSet :: VkDescriptorSet
, vkDstBinding :: Word32
, vkDstArrayElement :: Word32
, vkDescriptorCount :: Word32
, vkDescriptorType :: VkDescriptorType
, vkPImageInfo :: Ptr VkDescriptorImageInfo
, vkPBufferInfo :: Ptr VkDescriptorBufferInfo
, vkPTexelBufferView :: Ptr VkBufferView
}
deriving (Eq)
instance Storable VkWriteDescriptorSet where
sizeOf ~_ = 64
alignment ~_ = 8
peek ptr = VkWriteDescriptorSet <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 56)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkWriteDescriptorSet))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkWriteDescriptorSet))
*> poke (ptr `plusPtr` 16) (vkDstSet (poked :: VkWriteDescriptorSet))
*> poke (ptr `plusPtr` 24) (vkDstBinding (poked :: VkWriteDescriptorSet))
*> poke (ptr `plusPtr` 28) (vkDstArrayElement (poked :: VkWriteDescriptorSet))
*> poke (ptr `plusPtr` 32) (vkDescriptorCount (poked :: VkWriteDescriptorSet))
*> poke (ptr `plusPtr` 36) (vkDescriptorType (poked :: VkWriteDescriptorSet))
*> poke (ptr `plusPtr` 40) (vkPImageInfo (poked :: VkWriteDescriptorSet))
*> poke (ptr `plusPtr` 48) (vkPBufferInfo (poked :: VkWriteDescriptorSet))
*> poke (ptr `plusPtr` 56) (vkPTexelBufferView (poked :: VkWriteDescriptorSet))
data VkCopyDescriptorSet =
VkCopyDescriptorSet{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkSrcSet :: VkDescriptorSet
, vkSrcBinding :: Word32
, vkSrcArrayElement :: Word32
, vkDstSet :: VkDescriptorSet
, vkDstBinding :: Word32
, vkDstArrayElement :: Word32
, vkDescriptorCount :: Word32
}
deriving (Eq)
instance Storable VkCopyDescriptorSet where
sizeOf ~_ = 56
alignment ~_ = 8
peek ptr = VkCopyDescriptorSet <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 44)
<*> peek (ptr `plusPtr` 48)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkCopyDescriptorSet))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkCopyDescriptorSet))
*> poke (ptr `plusPtr` 16) (vkSrcSet (poked :: VkCopyDescriptorSet))
*> poke (ptr `plusPtr` 24) (vkSrcBinding (poked :: VkCopyDescriptorSet))
*> poke (ptr `plusPtr` 28) (vkSrcArrayElement (poked :: VkCopyDescriptorSet))
*> poke (ptr `plusPtr` 32) (vkDstSet (poked :: VkCopyDescriptorSet))
*> poke (ptr `plusPtr` 40) (vkDstBinding (poked :: VkCopyDescriptorSet))
*> poke (ptr `plusPtr` 44) (vkDstArrayElement (poked :: VkCopyDescriptorSet))
*> poke (ptr `plusPtr` 48) (vkDescriptorCount (poked :: VkCopyDescriptorSet))
data VkBufferCreateInfo =
VkBufferCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkBufferCreateFlags
, vkSize :: VkDeviceSize
, vkUsage :: VkBufferUsageFlags
, vkSharingMode :: VkSharingMode
, vkQueueFamilyIndexCount :: Word32
, vkPQueueFamilyIndices :: Ptr Word32
}
deriving (Eq)
instance Storable VkBufferCreateInfo where
sizeOf ~_ = 56
alignment ~_ = 8
peek ptr = VkBufferCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkBufferCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkBufferCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkBufferCreateInfo))
*> poke (ptr `plusPtr` 24) (vkSize (poked :: VkBufferCreateInfo))
*> poke (ptr `plusPtr` 32) (vkUsage (poked :: VkBufferCreateInfo))
*> poke (ptr `plusPtr` 36) (vkSharingMode (poked :: VkBufferCreateInfo))
*> poke (ptr `plusPtr` 40) (vkQueueFamilyIndexCount (poked :: VkBufferCreateInfo))
*> poke (ptr `plusPtr` 48) (vkPQueueFamilyIndices (poked :: VkBufferCreateInfo))
data VkBufferViewCreateInfo =
VkBufferViewCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkBufferViewCreateFlags
, vkBuffer :: VkBuffer
, vkFormat :: VkFormat
, vkOffset :: VkDeviceSize
, vkRange :: VkDeviceSize
}
deriving (Eq)
instance Storable VkBufferViewCreateInfo where
sizeOf ~_ = 56
alignment ~_ = 8
peek ptr = VkBufferViewCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkBufferViewCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkBufferViewCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkBufferViewCreateInfo))
*> poke (ptr `plusPtr` 24) (vkBuffer (poked :: VkBufferViewCreateInfo))
*> poke (ptr `plusPtr` 32) (vkFormat (poked :: VkBufferViewCreateInfo))
*> poke (ptr `plusPtr` 40) (vkOffset (poked :: VkBufferViewCreateInfo))
*> poke (ptr `plusPtr` 48) (vkRange (poked :: VkBufferViewCreateInfo))
data VkImageSubresource =
VkImageSubresource{ vkAspectMask :: VkImageAspectFlags
, vkMipLevel :: Word32
, vkArrayLayer :: Word32
}
deriving (Eq)
instance Storable VkImageSubresource where
sizeOf ~_ = 12
alignment ~_ = 4
peek ptr = VkImageSubresource <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
poke ptr poked = poke (ptr `plusPtr` 0) (vkAspectMask (poked :: VkImageSubresource))
*> poke (ptr `plusPtr` 4) (vkMipLevel (poked :: VkImageSubresource))
*> poke (ptr `plusPtr` 8) (vkArrayLayer (poked :: VkImageSubresource))
data VkImageSubresourceLayers =
VkImageSubresourceLayers{ vkAspectMask :: VkImageAspectFlags
, vkMipLevel :: Word32
, vkBaseArrayLayer :: Word32
, vkLayerCount :: Word32
}
deriving (Eq)
instance Storable VkImageSubresourceLayers where
sizeOf ~_ = 16
alignment ~_ = 4
peek ptr = VkImageSubresourceLayers <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
poke ptr poked = poke (ptr `plusPtr` 0) (vkAspectMask (poked :: VkImageSubresourceLayers))
*> poke (ptr `plusPtr` 4) (vkMipLevel (poked :: VkImageSubresourceLayers))
*> poke (ptr `plusPtr` 8) (vkBaseArrayLayer (poked :: VkImageSubresourceLayers))
*> poke (ptr `plusPtr` 12) (vkLayerCount (poked :: VkImageSubresourceLayers))
data VkImageSubresourceRange =
VkImageSubresourceRange{ vkAspectMask :: VkImageAspectFlags
, vkBaseMipLevel :: Word32
, vkLevelCount :: Word32
, vkBaseArrayLayer :: Word32
, vkLayerCount :: Word32
}
deriving (Eq)
instance Storable VkImageSubresourceRange where
sizeOf ~_ = 20
alignment ~_ = 4
peek ptr = VkImageSubresourceRange <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkAspectMask (poked :: VkImageSubresourceRange))
*> poke (ptr `plusPtr` 4) (vkBaseMipLevel (poked :: VkImageSubresourceRange))
*> poke (ptr `plusPtr` 8) (vkLevelCount (poked :: VkImageSubresourceRange))
*> poke (ptr `plusPtr` 12) (vkBaseArrayLayer (poked :: VkImageSubresourceRange))
*> poke (ptr `plusPtr` 16) (vkLayerCount (poked :: VkImageSubresourceRange))
data VkMemoryBarrier =
VkMemoryBarrier{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkSrcAccessMask :: VkAccessFlags
, vkDstAccessMask :: VkAccessFlags
}
deriving (Eq)
instance Storable VkMemoryBarrier where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkMemoryBarrier <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkMemoryBarrier))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkMemoryBarrier))
*> poke (ptr `plusPtr` 16) (vkSrcAccessMask (poked :: VkMemoryBarrier))
*> poke (ptr `plusPtr` 20) (vkDstAccessMask (poked :: VkMemoryBarrier))
data VkBufferMemoryBarrier =
VkBufferMemoryBarrier{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkSrcAccessMask :: VkAccessFlags
, vkDstAccessMask :: VkAccessFlags
, vkSrcQueueFamilyIndex :: Word32
, vkDstQueueFamilyIndex :: Word32
, vkBuffer :: VkBuffer
, vkOffset :: VkDeviceSize
, vkSize :: VkDeviceSize
}
deriving (Eq)
instance Storable VkBufferMemoryBarrier where
sizeOf ~_ = 56
alignment ~_ = 8
peek ptr = VkBufferMemoryBarrier <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkBufferMemoryBarrier))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkBufferMemoryBarrier))
*> poke (ptr `plusPtr` 16) (vkSrcAccessMask (poked :: VkBufferMemoryBarrier))
*> poke (ptr `plusPtr` 20) (vkDstAccessMask (poked :: VkBufferMemoryBarrier))
*> poke (ptr `plusPtr` 24) (vkSrcQueueFamilyIndex (poked :: VkBufferMemoryBarrier))
*> poke (ptr `plusPtr` 28) (vkDstQueueFamilyIndex (poked :: VkBufferMemoryBarrier))
*> poke (ptr `plusPtr` 32) (vkBuffer (poked :: VkBufferMemoryBarrier))
*> poke (ptr `plusPtr` 40) (vkOffset (poked :: VkBufferMemoryBarrier))
*> poke (ptr `plusPtr` 48) (vkSize (poked :: VkBufferMemoryBarrier))
data VkImageMemoryBarrier =
VkImageMemoryBarrier{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkSrcAccessMask :: VkAccessFlags
, vkDstAccessMask :: VkAccessFlags
, vkOldLayout :: VkImageLayout
, vkNewLayout :: VkImageLayout
, vkSrcQueueFamilyIndex :: Word32
, vkDstQueueFamilyIndex :: Word32
, vkImage :: VkImage
, vkSubresourceRange :: VkImageSubresourceRange
}
deriving (Eq)
instance Storable VkImageMemoryBarrier where
sizeOf ~_ = 72
alignment ~_ = 8
peek ptr = VkImageMemoryBarrier <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkImageMemoryBarrier))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkImageMemoryBarrier))
*> poke (ptr `plusPtr` 16) (vkSrcAccessMask (poked :: VkImageMemoryBarrier))
*> poke (ptr `plusPtr` 20) (vkDstAccessMask (poked :: VkImageMemoryBarrier))
*> poke (ptr `plusPtr` 24) (vkOldLayout (poked :: VkImageMemoryBarrier))
*> poke (ptr `plusPtr` 28) (vkNewLayout (poked :: VkImageMemoryBarrier))
*> poke (ptr `plusPtr` 32) (vkSrcQueueFamilyIndex (poked :: VkImageMemoryBarrier))
*> poke (ptr `plusPtr` 36) (vkDstQueueFamilyIndex (poked :: VkImageMemoryBarrier))
*> poke (ptr `plusPtr` 40) (vkImage (poked :: VkImageMemoryBarrier))
*> poke (ptr `plusPtr` 48) (vkSubresourceRange (poked :: VkImageMemoryBarrier))
data VkImageCreateInfo =
VkImageCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkImageCreateFlags
, vkImageType :: VkImageType
, vkFormat :: VkFormat
, vkExtent :: VkExtent3D
, vkMipLevels :: Word32
, vkArrayLayers :: Word32
, vkSamples :: VkSampleCountFlagBits
, vkTiling :: VkImageTiling
, vkUsage :: VkImageUsageFlags
, vkSharingMode :: VkSharingMode
, vkQueueFamilyIndexCount :: Word32
, vkPQueueFamilyIndices :: Ptr Word32
, vkInitialLayout :: VkImageLayout
}
deriving (Eq)
instance Storable VkImageCreateInfo where
sizeOf ~_ = 88
alignment ~_ = 8
peek ptr = VkImageCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 44)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 52)
<*> peek (ptr `plusPtr` 56)
<*> peek (ptr `plusPtr` 60)
<*> peek (ptr `plusPtr` 64)
<*> peek (ptr `plusPtr` 72)
<*> peek (ptr `plusPtr` 80)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkImageCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkImageCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkImageCreateInfo))
*> poke (ptr `plusPtr` 20) (vkImageType (poked :: VkImageCreateInfo))
*> poke (ptr `plusPtr` 24) (vkFormat (poked :: VkImageCreateInfo))
*> poke (ptr `plusPtr` 28) (vkExtent (poked :: VkImageCreateInfo))
*> poke (ptr `plusPtr` 40) (vkMipLevels (poked :: VkImageCreateInfo))
*> poke (ptr `plusPtr` 44) (vkArrayLayers (poked :: VkImageCreateInfo))
*> poke (ptr `plusPtr` 48) (vkSamples (poked :: VkImageCreateInfo))
*> poke (ptr `plusPtr` 52) (vkTiling (poked :: VkImageCreateInfo))
*> poke (ptr `plusPtr` 56) (vkUsage (poked :: VkImageCreateInfo))
*> poke (ptr `plusPtr` 60) (vkSharingMode (poked :: VkImageCreateInfo))
*> poke (ptr `plusPtr` 64) (vkQueueFamilyIndexCount (poked :: VkImageCreateInfo))
*> poke (ptr `plusPtr` 72) (vkPQueueFamilyIndices (poked :: VkImageCreateInfo))
*> poke (ptr `plusPtr` 80) (vkInitialLayout (poked :: VkImageCreateInfo))
data VkSubresourceLayout =
VkSubresourceLayout{ vkOffset :: VkDeviceSize
, vkSize :: VkDeviceSize
, vkRowPitch :: VkDeviceSize
, vkArrayPitch :: VkDeviceSize
, vkDepthPitch :: VkDeviceSize
}
deriving (Eq)
instance Storable VkSubresourceLayout where
sizeOf ~_ = 40
alignment ~_ = 8
peek ptr = VkSubresourceLayout <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
poke ptr poked = poke (ptr `plusPtr` 0) (vkOffset (poked :: VkSubresourceLayout))
*> poke (ptr `plusPtr` 8) (vkSize (poked :: VkSubresourceLayout))
*> poke (ptr `plusPtr` 16) (vkRowPitch (poked :: VkSubresourceLayout))
*> poke (ptr `plusPtr` 24) (vkArrayPitch (poked :: VkSubresourceLayout))
*> poke (ptr `plusPtr` 32) (vkDepthPitch (poked :: VkSubresourceLayout))
data VkImageViewCreateInfo =
VkImageViewCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkImageViewCreateFlags
, vkImage :: VkImage
, vkViewType :: VkImageViewType
, vkFormat :: VkFormat
, vkComponents :: VkComponentMapping
, vkSubresourceRange :: VkImageSubresourceRange
}
deriving (Eq)
instance Storable VkImageViewCreateInfo where
sizeOf ~_ = 80
alignment ~_ = 8
peek ptr = VkImageViewCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 56)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkImageViewCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkImageViewCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkImageViewCreateInfo))
*> poke (ptr `plusPtr` 24) (vkImage (poked :: VkImageViewCreateInfo))
*> poke (ptr `plusPtr` 32) (vkViewType (poked :: VkImageViewCreateInfo))
*> poke (ptr `plusPtr` 36) (vkFormat (poked :: VkImageViewCreateInfo))
*> poke (ptr `plusPtr` 40) (vkComponents (poked :: VkImageViewCreateInfo))
*> poke (ptr `plusPtr` 56) (vkSubresourceRange (poked :: VkImageViewCreateInfo))
data VkBufferCopy =
VkBufferCopy{ vkSrcOffset :: VkDeviceSize
, vkDstOffset :: VkDeviceSize
, vkSize :: VkDeviceSize
}
deriving (Eq)
instance Storable VkBufferCopy where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkBufferCopy <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSrcOffset (poked :: VkBufferCopy))
*> poke (ptr `plusPtr` 8) (vkDstOffset (poked :: VkBufferCopy))
*> poke (ptr `plusPtr` 16) (vkSize (poked :: VkBufferCopy))
data VkSparseMemoryBind =
VkSparseMemoryBind{ vkResourceOffset :: VkDeviceSize
, vkSize :: VkDeviceSize
, vkMemory :: VkDeviceMemory
, vkMemoryOffset :: VkDeviceSize
, vkFlags :: VkSparseMemoryBindFlags
}
deriving (Eq)
instance Storable VkSparseMemoryBind where
sizeOf ~_ = 40
alignment ~_ = 8
peek ptr = VkSparseMemoryBind <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
poke ptr poked = poke (ptr `plusPtr` 0) (vkResourceOffset (poked :: VkSparseMemoryBind))
*> poke (ptr `plusPtr` 8) (vkSize (poked :: VkSparseMemoryBind))
*> poke (ptr `plusPtr` 16) (vkMemory (poked :: VkSparseMemoryBind))
*> poke (ptr `plusPtr` 24) (vkMemoryOffset (poked :: VkSparseMemoryBind))
*> poke (ptr `plusPtr` 32) (vkFlags (poked :: VkSparseMemoryBind))
data VkSparseImageMemoryBind =
VkSparseImageMemoryBind{ vkSubresource :: VkImageSubresource
, vkOffset :: VkOffset3D
, vkExtent :: VkExtent3D
, vkMemory :: VkDeviceMemory
, vkMemoryOffset :: VkDeviceSize
, vkFlags :: VkSparseMemoryBindFlags
}
deriving (Eq)
instance Storable VkSparseImageMemoryBind where
sizeOf ~_ = 64
alignment ~_ = 8
peek ptr = VkSparseImageMemoryBind <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 56)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSubresource (poked :: VkSparseImageMemoryBind))
*> poke (ptr `plusPtr` 12) (vkOffset (poked :: VkSparseImageMemoryBind))
*> poke (ptr `plusPtr` 24) (vkExtent (poked :: VkSparseImageMemoryBind))
*> poke (ptr `plusPtr` 40) (vkMemory (poked :: VkSparseImageMemoryBind))
*> poke (ptr `plusPtr` 48) (vkMemoryOffset (poked :: VkSparseImageMemoryBind))
*> poke (ptr `plusPtr` 56) (vkFlags (poked :: VkSparseImageMemoryBind))
data VkSparseBufferMemoryBindInfo =
VkSparseBufferMemoryBindInfo{ vkBuffer :: VkBuffer
, vkBindCount :: Word32
, vkPBinds :: Ptr VkSparseMemoryBind
}
deriving (Eq)
instance Storable VkSparseBufferMemoryBindInfo where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkSparseBufferMemoryBindInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkBuffer (poked :: VkSparseBufferMemoryBindInfo))
*> poke (ptr `plusPtr` 8) (vkBindCount (poked :: VkSparseBufferMemoryBindInfo))
*> poke (ptr `plusPtr` 16) (vkPBinds (poked :: VkSparseBufferMemoryBindInfo))
data VkSparseImageOpaqueMemoryBindInfo =
VkSparseImageOpaqueMemoryBindInfo{ vkImage :: VkImage
, vkBindCount :: Word32
, vkPBinds :: Ptr VkSparseMemoryBind
}
deriving (Eq)
instance Storable VkSparseImageOpaqueMemoryBindInfo where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkSparseImageOpaqueMemoryBindInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkImage (poked :: VkSparseImageOpaqueMemoryBindInfo))
*> poke (ptr `plusPtr` 8) (vkBindCount (poked :: VkSparseImageOpaqueMemoryBindInfo))
*> poke (ptr `plusPtr` 16) (vkPBinds (poked :: VkSparseImageOpaqueMemoryBindInfo))
data VkSparseImageMemoryBindInfo =
VkSparseImageMemoryBindInfo{ vkImage :: VkImage
, vkBindCount :: Word32
, vkPBinds :: Ptr VkSparseImageMemoryBind
}
deriving (Eq)
instance Storable VkSparseImageMemoryBindInfo where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkSparseImageMemoryBindInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkImage (poked :: VkSparseImageMemoryBindInfo))
*> poke (ptr `plusPtr` 8) (vkBindCount (poked :: VkSparseImageMemoryBindInfo))
*> poke (ptr `plusPtr` 16) (vkPBinds (poked :: VkSparseImageMemoryBindInfo))
data VkBindSparseInfo =
VkBindSparseInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkWaitSemaphoreCount :: Word32
, vkPWaitSemaphores :: Ptr VkSemaphore
, vkBufferBindCount :: Word32
, vkPBufferBinds :: Ptr VkSparseBufferMemoryBindInfo
, vkImageOpaqueBindCount :: Word32
, vkPImageOpaqueBinds :: Ptr VkSparseImageOpaqueMemoryBindInfo
, vkImageBindCount :: Word32
, vkPImageBinds :: Ptr VkSparseImageMemoryBindInfo
, vkSignalSemaphoreCount :: Word32
, vkPSignalSemaphores :: Ptr VkSemaphore
}
deriving (Eq)
instance Storable VkBindSparseInfo where
sizeOf ~_ = 96
alignment ~_ = 8
peek ptr = VkBindSparseInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 56)
<*> peek (ptr `plusPtr` 64)
<*> peek (ptr `plusPtr` 72)
<*> peek (ptr `plusPtr` 80)
<*> peek (ptr `plusPtr` 88)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkBindSparseInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkBindSparseInfo))
*> poke (ptr `plusPtr` 16) (vkWaitSemaphoreCount (poked :: VkBindSparseInfo))
*> poke (ptr `plusPtr` 24) (vkPWaitSemaphores (poked :: VkBindSparseInfo))
*> poke (ptr `plusPtr` 32) (vkBufferBindCount (poked :: VkBindSparseInfo))
*> poke (ptr `plusPtr` 40) (vkPBufferBinds (poked :: VkBindSparseInfo))
*> poke (ptr `plusPtr` 48) (vkImageOpaqueBindCount (poked :: VkBindSparseInfo))
*> poke (ptr `plusPtr` 56) (vkPImageOpaqueBinds (poked :: VkBindSparseInfo))
*> poke (ptr `plusPtr` 64) (vkImageBindCount (poked :: VkBindSparseInfo))
*> poke (ptr `plusPtr` 72) (vkPImageBinds (poked :: VkBindSparseInfo))
*> poke (ptr `plusPtr` 80) (vkSignalSemaphoreCount (poked :: VkBindSparseInfo))
*> poke (ptr `plusPtr` 88) (vkPSignalSemaphores (poked :: VkBindSparseInfo))
data VkImageCopy =
VkImageCopy{ vkSrcSubresource :: VkImageSubresourceLayers
, vkSrcOffset :: VkOffset3D
, vkDstSubresource :: VkImageSubresourceLayers
, vkDstOffset :: VkOffset3D
, vkExtent :: VkExtent3D
}
deriving (Eq)
instance Storable VkImageCopy where
sizeOf ~_ = 68
alignment ~_ = 4
peek ptr = VkImageCopy <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 44)
<*> peek (ptr `plusPtr` 56)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSrcSubresource (poked :: VkImageCopy))
*> poke (ptr `plusPtr` 16) (vkSrcOffset (poked :: VkImageCopy))
*> poke (ptr `plusPtr` 28) (vkDstSubresource (poked :: VkImageCopy))
*> poke (ptr `plusPtr` 44) (vkDstOffset (poked :: VkImageCopy))
*> poke (ptr `plusPtr` 56) (vkExtent (poked :: VkImageCopy))
data VkImageBlit =
VkImageBlit{ vkSrcSubresource :: VkImageSubresourceLayers
, vkSrcOffsets :: Vec (ToPeano 2) VkOffset3D
, vkDstSubresource :: VkImageSubresourceLayers
, vkDstOffsets :: Vec (ToPeano 2) VkOffset3D
}
deriving (Eq)
instance Storable VkImageBlit where
sizeOf ~_ = 80
alignment ~_ = 4
peek ptr = VkImageBlit <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 56)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSrcSubresource (poked :: VkImageBlit))
*> poke (ptr `plusPtr` 16) (vkSrcOffsets (poked :: VkImageBlit))
*> poke (ptr `plusPtr` 40) (vkDstSubresource (poked :: VkImageBlit))
*> poke (ptr `plusPtr` 56) (vkDstOffsets (poked :: VkImageBlit))
data VkBufferImageCopy =
VkBufferImageCopy{ vkBufferOffset :: VkDeviceSize
, vkBufferRowLength :: Word32
, vkBufferImageHeight :: Word32
, vkImageSubresource :: VkImageSubresourceLayers
, vkImageOffset :: VkOffset3D
, vkImageExtent :: VkExtent3D
}
deriving (Eq)
instance Storable VkBufferImageCopy where
sizeOf ~_ = 56
alignment ~_ = 8
peek ptr = VkBufferImageCopy <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 44)
poke ptr poked = poke (ptr `plusPtr` 0) (vkBufferOffset (poked :: VkBufferImageCopy))
*> poke (ptr `plusPtr` 8) (vkBufferRowLength (poked :: VkBufferImageCopy))
*> poke (ptr `plusPtr` 12) (vkBufferImageHeight (poked :: VkBufferImageCopy))
*> poke (ptr `plusPtr` 16) (vkImageSubresource (poked :: VkBufferImageCopy))
*> poke (ptr `plusPtr` 32) (vkImageOffset (poked :: VkBufferImageCopy))
*> poke (ptr `plusPtr` 44) (vkImageExtent (poked :: VkBufferImageCopy))
data VkImageResolve =
VkImageResolve{ vkSrcSubresource :: VkImageSubresourceLayers
, vkSrcOffset :: VkOffset3D
, vkDstSubresource :: VkImageSubresourceLayers
, vkDstOffset :: VkOffset3D
, vkExtent :: VkExtent3D
}
deriving (Eq)
instance Storable VkImageResolve where
sizeOf ~_ = 68
alignment ~_ = 4
peek ptr = VkImageResolve <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 44)
<*> peek (ptr `plusPtr` 56)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSrcSubresource (poked :: VkImageResolve))
*> poke (ptr `plusPtr` 16) (vkSrcOffset (poked :: VkImageResolve))
*> poke (ptr `plusPtr` 28) (vkDstSubresource (poked :: VkImageResolve))
*> poke (ptr `plusPtr` 44) (vkDstOffset (poked :: VkImageResolve))
*> poke (ptr `plusPtr` 56) (vkExtent (poked :: VkImageResolve))
data VkShaderModuleCreateInfo =
VkShaderModuleCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkShaderModuleCreateFlags
, vkCodeSize :: CSize
, vkPCode :: Ptr Word32
}
deriving (Eq)
instance Storable VkShaderModuleCreateInfo where
sizeOf ~_ = 40
alignment ~_ = 8
peek ptr = VkShaderModuleCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkShaderModuleCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkShaderModuleCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkShaderModuleCreateInfo))
*> poke (ptr `plusPtr` 24) (vkCodeSize (poked :: VkShaderModuleCreateInfo))
*> poke (ptr `plusPtr` 32) (vkPCode (poked :: VkShaderModuleCreateInfo))
data VkDescriptorSetLayoutBinding =
VkDescriptorSetLayoutBinding{ vkBinding :: Word32
, vkDescriptorType :: VkDescriptorType
, vkDescriptorCount :: Word32
, vkStageFlags :: VkShaderStageFlags
, vkPImmutableSamplers :: Ptr VkSampler
}
deriving (Eq)
instance Storable VkDescriptorSetLayoutBinding where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkDescriptorSetLayoutBinding <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkBinding (poked :: VkDescriptorSetLayoutBinding))
*> poke (ptr `plusPtr` 4) (vkDescriptorType (poked :: VkDescriptorSetLayoutBinding))
*> poke (ptr `plusPtr` 8) (vkDescriptorCount (poked :: VkDescriptorSetLayoutBinding))
*> poke (ptr `plusPtr` 12) (vkStageFlags (poked :: VkDescriptorSetLayoutBinding))
*> poke (ptr `plusPtr` 16) (vkPImmutableSamplers (poked :: VkDescriptorSetLayoutBinding))
data VkDescriptorSetLayoutCreateInfo =
VkDescriptorSetLayoutCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkDescriptorSetLayoutCreateFlags
, vkBindingCount :: Word32
, vkPBindings :: Ptr VkDescriptorSetLayoutBinding
}
deriving (Eq)
instance Storable VkDescriptorSetLayoutCreateInfo where
sizeOf ~_ = 32
alignment ~_ = 8
peek ptr = VkDescriptorSetLayoutCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkDescriptorSetLayoutCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkDescriptorSetLayoutCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkDescriptorSetLayoutCreateInfo))
*> poke (ptr `plusPtr` 20) (vkBindingCount (poked :: VkDescriptorSetLayoutCreateInfo))
*> poke (ptr `plusPtr` 24) (vkPBindings (poked :: VkDescriptorSetLayoutCreateInfo))
data VkDescriptorPoolSize =
VkDescriptorPoolSize{ vkType :: VkDescriptorType
, vkDescriptorCount :: Word32
}
deriving (Eq)
instance Storable VkDescriptorPoolSize where
sizeOf ~_ = 8
alignment ~_ = 4
peek ptr = VkDescriptorPoolSize <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
poke ptr poked = poke (ptr `plusPtr` 0) (vkType (poked :: VkDescriptorPoolSize))
*> poke (ptr `plusPtr` 4) (vkDescriptorCount (poked :: VkDescriptorPoolSize))
data VkDescriptorPoolCreateInfo =
VkDescriptorPoolCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkDescriptorPoolCreateFlags
, vkMaxSets :: Word32
, vkPoolSizeCount :: Word32
, vkPPoolSizes :: Ptr VkDescriptorPoolSize
}
deriving (Eq)
instance Storable VkDescriptorPoolCreateInfo where
sizeOf ~_ = 40
alignment ~_ = 8
peek ptr = VkDescriptorPoolCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkDescriptorPoolCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkDescriptorPoolCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkDescriptorPoolCreateInfo))
*> poke (ptr `plusPtr` 20) (vkMaxSets (poked :: VkDescriptorPoolCreateInfo))
*> poke (ptr `plusPtr` 24) (vkPoolSizeCount (poked :: VkDescriptorPoolCreateInfo))
*> poke (ptr `plusPtr` 32) (vkPPoolSizes (poked :: VkDescriptorPoolCreateInfo))
data VkDescriptorSetAllocateInfo =
VkDescriptorSetAllocateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkDescriptorPool :: VkDescriptorPool
, vkDescriptorSetCount :: Word32
, vkPSetLayouts :: Ptr VkDescriptorSetLayout
}
deriving (Eq)
instance Storable VkDescriptorSetAllocateInfo where
sizeOf ~_ = 40
alignment ~_ = 8
peek ptr = VkDescriptorSetAllocateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkDescriptorSetAllocateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkDescriptorSetAllocateInfo))
*> poke (ptr `plusPtr` 16) (vkDescriptorPool (poked :: VkDescriptorSetAllocateInfo))
*> poke (ptr `plusPtr` 24) (vkDescriptorSetCount (poked :: VkDescriptorSetAllocateInfo))
*> poke (ptr `plusPtr` 32) (vkPSetLayouts (poked :: VkDescriptorSetAllocateInfo))
data VkSpecializationMapEntry =
VkSpecializationMapEntry{ vkConstantID :: Word32
, vkOffset :: Word32
, vkSize :: CSize
}
deriving (Eq)
instance Storable VkSpecializationMapEntry where
sizeOf ~_ = 16
alignment ~_ = 8
peek ptr = VkSpecializationMapEntry <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
poke ptr poked = poke (ptr `plusPtr` 0) (vkConstantID (poked :: VkSpecializationMapEntry))
*> poke (ptr `plusPtr` 4) (vkOffset (poked :: VkSpecializationMapEntry))
*> poke (ptr `plusPtr` 8) (vkSize (poked :: VkSpecializationMapEntry))
data VkSpecializationInfo =
VkSpecializationInfo{ vkMapEntryCount :: Word32
, vkPMapEntries :: Ptr VkSpecializationMapEntry
, vkDataSize :: CSize
, vkPData :: Ptr Void
}
deriving (Eq)
instance Storable VkSpecializationInfo where
sizeOf ~_ = 32
alignment ~_ = 8
peek ptr = VkSpecializationInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
poke ptr poked = poke (ptr `plusPtr` 0) (vkMapEntryCount (poked :: VkSpecializationInfo))
*> poke (ptr `plusPtr` 8) (vkPMapEntries (poked :: VkSpecializationInfo))
*> poke (ptr `plusPtr` 16) (vkDataSize (poked :: VkSpecializationInfo))
*> poke (ptr `plusPtr` 24) (vkPData (poked :: VkSpecializationInfo))
data VkPipelineShaderStageCreateInfo =
VkPipelineShaderStageCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkPipelineShaderStageCreateFlags
, vkStage :: VkShaderStageFlagBits
, vkModule :: VkShaderModule
, vkPName :: Ptr CChar
, vkPSpecializationInfo :: Ptr VkSpecializationInfo
}
deriving (Eq)
instance Storable VkPipelineShaderStageCreateInfo where
sizeOf ~_ = 48
alignment ~_ = 8
peek ptr = VkPipelineShaderStageCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkPipelineShaderStageCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkPipelineShaderStageCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkPipelineShaderStageCreateInfo))
*> poke (ptr `plusPtr` 20) (vkStage (poked :: VkPipelineShaderStageCreateInfo))
*> poke (ptr `plusPtr` 24) (vkModule (poked :: VkPipelineShaderStageCreateInfo))
*> poke (ptr `plusPtr` 32) (vkPName (poked :: VkPipelineShaderStageCreateInfo))
*> poke (ptr `plusPtr` 40) (vkPSpecializationInfo (poked :: VkPipelineShaderStageCreateInfo))
data VkComputePipelineCreateInfo =
VkComputePipelineCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkPipelineCreateFlags
, vkStage :: VkPipelineShaderStageCreateInfo
, vkLayout :: VkPipelineLayout
, vkBasePipelineHandle :: VkPipeline
, vkBasePipelineIndex :: Int32
}
deriving (Eq)
instance Storable VkComputePipelineCreateInfo where
sizeOf ~_ = 96
alignment ~_ = 8
peek ptr = VkComputePipelineCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 72)
<*> peek (ptr `plusPtr` 80)
<*> peek (ptr `plusPtr` 88)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkComputePipelineCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkComputePipelineCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkComputePipelineCreateInfo))
*> poke (ptr `plusPtr` 24) (vkStage (poked :: VkComputePipelineCreateInfo))
*> poke (ptr `plusPtr` 72) (vkLayout (poked :: VkComputePipelineCreateInfo))
*> poke (ptr `plusPtr` 80) (vkBasePipelineHandle (poked :: VkComputePipelineCreateInfo))
*> poke (ptr `plusPtr` 88) (vkBasePipelineIndex (poked :: VkComputePipelineCreateInfo))
data VkVertexInputBindingDescription =
VkVertexInputBindingDescription{ vkBinding :: Word32
, vkStride :: Word32
, vkInputRate :: VkVertexInputRate
}
deriving (Eq)
instance Storable VkVertexInputBindingDescription where
sizeOf ~_ = 12
alignment ~_ = 4
peek ptr = VkVertexInputBindingDescription <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
poke ptr poked = poke (ptr `plusPtr` 0) (vkBinding (poked :: VkVertexInputBindingDescription))
*> poke (ptr `plusPtr` 4) (vkStride (poked :: VkVertexInputBindingDescription))
*> poke (ptr `plusPtr` 8) (vkInputRate (poked :: VkVertexInputBindingDescription))
data VkVertexInputAttributeDescription =
VkVertexInputAttributeDescription{ vkLocation :: Word32
, vkBinding :: Word32
, vkFormat :: VkFormat
, vkOffset :: Word32
}
deriving (Eq)
instance Storable VkVertexInputAttributeDescription where
sizeOf ~_ = 16
alignment ~_ = 4
peek ptr = VkVertexInputAttributeDescription <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
poke ptr poked = poke (ptr `plusPtr` 0) (vkLocation (poked :: VkVertexInputAttributeDescription))
*> poke (ptr `plusPtr` 4) (vkBinding (poked :: VkVertexInputAttributeDescription))
*> poke (ptr `plusPtr` 8) (vkFormat (poked :: VkVertexInputAttributeDescription))
*> poke (ptr `plusPtr` 12) (vkOffset (poked :: VkVertexInputAttributeDescription))
data VkPipelineVertexInputStateCreateInfo =
VkPipelineVertexInputStateCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkPipelineVertexInputStateCreateFlags
, vkVertexBindingDescriptionCount :: Word32
, vkPVertexBindingDescriptions :: Ptr VkVertexInputBindingDescription
, vkVertexAttributeDescriptionCount :: Word32
, vkPVertexAttributeDescriptions :: Ptr VkVertexInputAttributeDescription
}
deriving (Eq)
instance Storable VkPipelineVertexInputStateCreateInfo where
sizeOf ~_ = 48
alignment ~_ = 8
peek ptr = VkPipelineVertexInputStateCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkPipelineVertexInputStateCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkPipelineVertexInputStateCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkPipelineVertexInputStateCreateInfo))
*> poke (ptr `plusPtr` 20) (vkVertexBindingDescriptionCount (poked :: VkPipelineVertexInputStateCreateInfo))
*> poke (ptr `plusPtr` 24) (vkPVertexBindingDescriptions (poked :: VkPipelineVertexInputStateCreateInfo))
*> poke (ptr `plusPtr` 32) (vkVertexAttributeDescriptionCount (poked :: VkPipelineVertexInputStateCreateInfo))
*> poke (ptr `plusPtr` 40) (vkPVertexAttributeDescriptions (poked :: VkPipelineVertexInputStateCreateInfo))
data VkPipelineInputAssemblyStateCreateInfo =
VkPipelineInputAssemblyStateCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkPipelineInputAssemblyStateCreateFlags
, vkTopology :: VkPrimitiveTopology
, vkPrimitiveRestartEnable :: VkBool32
}
deriving (Eq)
instance Storable VkPipelineInputAssemblyStateCreateInfo where
sizeOf ~_ = 32
alignment ~_ = 8
peek ptr = VkPipelineInputAssemblyStateCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkPipelineInputAssemblyStateCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkPipelineInputAssemblyStateCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkPipelineInputAssemblyStateCreateInfo))
*> poke (ptr `plusPtr` 20) (vkTopology (poked :: VkPipelineInputAssemblyStateCreateInfo))
*> poke (ptr `plusPtr` 24) (vkPrimitiveRestartEnable (poked :: VkPipelineInputAssemblyStateCreateInfo))
data VkPipelineTessellationStateCreateInfo =
VkPipelineTessellationStateCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkPipelineTessellationStateCreateFlags
, vkPatchControlPoints :: Word32
}
deriving (Eq)
instance Storable VkPipelineTessellationStateCreateInfo where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkPipelineTessellationStateCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkPipelineTessellationStateCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkPipelineTessellationStateCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkPipelineTessellationStateCreateInfo))
*> poke (ptr `plusPtr` 20) (vkPatchControlPoints (poked :: VkPipelineTessellationStateCreateInfo))
data VkPipelineViewportStateCreateInfo =
VkPipelineViewportStateCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkPipelineViewportStateCreateFlags
, vkViewportCount :: Word32
, vkPViewports :: Ptr VkViewport
, vkScissorCount :: Word32
, vkPScissors :: Ptr VkRect2D
}
deriving (Eq)
instance Storable VkPipelineViewportStateCreateInfo where
sizeOf ~_ = 48
alignment ~_ = 8
peek ptr = VkPipelineViewportStateCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkPipelineViewportStateCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkPipelineViewportStateCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkPipelineViewportStateCreateInfo))
*> poke (ptr `plusPtr` 20) (vkViewportCount (poked :: VkPipelineViewportStateCreateInfo))
*> poke (ptr `plusPtr` 24) (vkPViewports (poked :: VkPipelineViewportStateCreateInfo))
*> poke (ptr `plusPtr` 32) (vkScissorCount (poked :: VkPipelineViewportStateCreateInfo))
*> poke (ptr `plusPtr` 40) (vkPScissors (poked :: VkPipelineViewportStateCreateInfo))
data VkPipelineRasterizationStateCreateInfo =
VkPipelineRasterizationStateCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkPipelineRasterizationStateCreateFlags
, vkDepthClampEnable :: VkBool32
, vkRasterizerDiscardEnable :: VkBool32
, vkPolygonMode :: VkPolygonMode
, vkCullMode :: VkCullModeFlags
, vkFrontFace :: VkFrontFace
, vkDepthBiasEnable :: VkBool32
, vkDepthBiasConstantFactor :: CFloat
, vkDepthBiasClamp :: CFloat
, vkDepthBiasSlopeFactor :: CFloat
, vkLineWidth :: CFloat
}
deriving (Eq)
instance Storable VkPipelineRasterizationStateCreateInfo where
sizeOf ~_ = 64
alignment ~_ = 8
peek ptr = VkPipelineRasterizationStateCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 44)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 52)
<*> peek (ptr `plusPtr` 56)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkPipelineRasterizationStateCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkPipelineRasterizationStateCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkPipelineRasterizationStateCreateInfo))
*> poke (ptr `plusPtr` 20) (vkDepthClampEnable (poked :: VkPipelineRasterizationStateCreateInfo))
*> poke (ptr `plusPtr` 24) (vkRasterizerDiscardEnable (poked :: VkPipelineRasterizationStateCreateInfo))
*> poke (ptr `plusPtr` 28) (vkPolygonMode (poked :: VkPipelineRasterizationStateCreateInfo))
*> poke (ptr `plusPtr` 32) (vkCullMode (poked :: VkPipelineRasterizationStateCreateInfo))
*> poke (ptr `plusPtr` 36) (vkFrontFace (poked :: VkPipelineRasterizationStateCreateInfo))
*> poke (ptr `plusPtr` 40) (vkDepthBiasEnable (poked :: VkPipelineRasterizationStateCreateInfo))
*> poke (ptr `plusPtr` 44) (vkDepthBiasConstantFactor (poked :: VkPipelineRasterizationStateCreateInfo))
*> poke (ptr `plusPtr` 48) (vkDepthBiasClamp (poked :: VkPipelineRasterizationStateCreateInfo))
*> poke (ptr `plusPtr` 52) (vkDepthBiasSlopeFactor (poked :: VkPipelineRasterizationStateCreateInfo))
*> poke (ptr `plusPtr` 56) (vkLineWidth (poked :: VkPipelineRasterizationStateCreateInfo))
data VkPipelineMultisampleStateCreateInfo =
VkPipelineMultisampleStateCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkPipelineMultisampleStateCreateFlags
, vkRasterizationSamples :: VkSampleCountFlagBits
, vkSampleShadingEnable :: VkBool32
, vkMinSampleShading :: CFloat
, vkPSampleMask :: Ptr VkSampleMask
, vkAlphaToCoverageEnable :: VkBool32
, vkAlphaToOneEnable :: VkBool32
}
deriving (Eq)
instance Storable VkPipelineMultisampleStateCreateInfo where
sizeOf ~_ = 48
alignment ~_ = 8
peek ptr = VkPipelineMultisampleStateCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 44)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkPipelineMultisampleStateCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkPipelineMultisampleStateCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkPipelineMultisampleStateCreateInfo))
*> poke (ptr `plusPtr` 20) (vkRasterizationSamples (poked :: VkPipelineMultisampleStateCreateInfo))
*> poke (ptr `plusPtr` 24) (vkSampleShadingEnable (poked :: VkPipelineMultisampleStateCreateInfo))
*> poke (ptr `plusPtr` 28) (vkMinSampleShading (poked :: VkPipelineMultisampleStateCreateInfo))
*> poke (ptr `plusPtr` 32) (vkPSampleMask (poked :: VkPipelineMultisampleStateCreateInfo))
*> poke (ptr `plusPtr` 40) (vkAlphaToCoverageEnable (poked :: VkPipelineMultisampleStateCreateInfo))
*> poke (ptr `plusPtr` 44) (vkAlphaToOneEnable (poked :: VkPipelineMultisampleStateCreateInfo))
data VkPipelineColorBlendAttachmentState =
VkPipelineColorBlendAttachmentState{ vkBlendEnable :: VkBool32
, vkSrcColorBlendFactor :: VkBlendFactor
, vkDstColorBlendFactor :: VkBlendFactor
, vkColorBlendOp :: VkBlendOp
, vkSrcAlphaBlendFactor :: VkBlendFactor
, vkDstAlphaBlendFactor :: VkBlendFactor
, vkAlphaBlendOp :: VkBlendOp
, vkColorWriteMask :: VkColorComponentFlags
}
deriving (Eq)
instance Storable VkPipelineColorBlendAttachmentState where
sizeOf ~_ = 32
alignment ~_ = 4
peek ptr = VkPipelineColorBlendAttachmentState <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
poke ptr poked = poke (ptr `plusPtr` 0) (vkBlendEnable (poked :: VkPipelineColorBlendAttachmentState))
*> poke (ptr `plusPtr` 4) (vkSrcColorBlendFactor (poked :: VkPipelineColorBlendAttachmentState))
*> poke (ptr `plusPtr` 8) (vkDstColorBlendFactor (poked :: VkPipelineColorBlendAttachmentState))
*> poke (ptr `plusPtr` 12) (vkColorBlendOp (poked :: VkPipelineColorBlendAttachmentState))
*> poke (ptr `plusPtr` 16) (vkSrcAlphaBlendFactor (poked :: VkPipelineColorBlendAttachmentState))
*> poke (ptr `plusPtr` 20) (vkDstAlphaBlendFactor (poked :: VkPipelineColorBlendAttachmentState))
*> poke (ptr `plusPtr` 24) (vkAlphaBlendOp (poked :: VkPipelineColorBlendAttachmentState))
*> poke (ptr `plusPtr` 28) (vkColorWriteMask (poked :: VkPipelineColorBlendAttachmentState))
data VkPipelineColorBlendStateCreateInfo =
VkPipelineColorBlendStateCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkPipelineColorBlendStateCreateFlags
, vkLogicOpEnable :: VkBool32
, vkLogicOp :: VkLogicOp
, vkAttachmentCount :: Word32
, vkPAttachments :: Ptr VkPipelineColorBlendAttachmentState
, vkBlendConstants :: Vec (ToPeano 4) CFloat
}
deriving (Eq)
instance Storable VkPipelineColorBlendStateCreateInfo where
sizeOf ~_ = 56
alignment ~_ = 8
peek ptr = VkPipelineColorBlendStateCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkPipelineColorBlendStateCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkPipelineColorBlendStateCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkPipelineColorBlendStateCreateInfo))
*> poke (ptr `plusPtr` 20) (vkLogicOpEnable (poked :: VkPipelineColorBlendStateCreateInfo))
*> poke (ptr `plusPtr` 24) (vkLogicOp (poked :: VkPipelineColorBlendStateCreateInfo))
*> poke (ptr `plusPtr` 28) (vkAttachmentCount (poked :: VkPipelineColorBlendStateCreateInfo))
*> poke (ptr `plusPtr` 32) (vkPAttachments (poked :: VkPipelineColorBlendStateCreateInfo))
*> poke (ptr `plusPtr` 40) (vkBlendConstants (poked :: VkPipelineColorBlendStateCreateInfo))
data VkPipelineDynamicStateCreateInfo =
VkPipelineDynamicStateCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkPipelineDynamicStateCreateFlags
, vkDynamicStateCount :: Word32
, vkPDynamicStates :: Ptr VkDynamicState
}
deriving (Eq)
instance Storable VkPipelineDynamicStateCreateInfo where
sizeOf ~_ = 32
alignment ~_ = 8
peek ptr = VkPipelineDynamicStateCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkPipelineDynamicStateCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkPipelineDynamicStateCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkPipelineDynamicStateCreateInfo))
*> poke (ptr `plusPtr` 20) (vkDynamicStateCount (poked :: VkPipelineDynamicStateCreateInfo))
*> poke (ptr `plusPtr` 24) (vkPDynamicStates (poked :: VkPipelineDynamicStateCreateInfo))
data VkStencilOpState =
VkStencilOpState{ vkFailOp :: VkStencilOp
, vkPassOp :: VkStencilOp
, vkDepthFailOp :: VkStencilOp
, vkCompareOp :: VkCompareOp
, vkCompareMask :: Word32
, vkWriteMask :: Word32
, vkReference :: Word32
}
deriving (Eq)
instance Storable VkStencilOpState where
sizeOf ~_ = 28
alignment ~_ = 4
peek ptr = VkStencilOpState <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
poke ptr poked = poke (ptr `plusPtr` 0) (vkFailOp (poked :: VkStencilOpState))
*> poke (ptr `plusPtr` 4) (vkPassOp (poked :: VkStencilOpState))
*> poke (ptr `plusPtr` 8) (vkDepthFailOp (poked :: VkStencilOpState))
*> poke (ptr `plusPtr` 12) (vkCompareOp (poked :: VkStencilOpState))
*> poke (ptr `plusPtr` 16) (vkCompareMask (poked :: VkStencilOpState))
*> poke (ptr `plusPtr` 20) (vkWriteMask (poked :: VkStencilOpState))
*> poke (ptr `plusPtr` 24) (vkReference (poked :: VkStencilOpState))
data VkPipelineDepthStencilStateCreateInfo =
VkPipelineDepthStencilStateCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkPipelineDepthStencilStateCreateFlags
, vkDepthTestEnable :: VkBool32
, vkDepthWriteEnable :: VkBool32
, vkDepthCompareOp :: VkCompareOp
, vkDepthBoundsTestEnable :: VkBool32
, vkStencilTestEnable :: VkBool32
, vkFront :: VkStencilOpState
, vkBack :: VkStencilOpState
, vkMinDepthBounds :: CFloat
, vkMaxDepthBounds :: CFloat
}
deriving (Eq)
instance Storable VkPipelineDepthStencilStateCreateInfo where
sizeOf ~_ = 104
alignment ~_ = 8
peek ptr = VkPipelineDepthStencilStateCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 68)
<*> peek (ptr `plusPtr` 96)
<*> peek (ptr `plusPtr` 100)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkPipelineDepthStencilStateCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkPipelineDepthStencilStateCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkPipelineDepthStencilStateCreateInfo))
*> poke (ptr `plusPtr` 20) (vkDepthTestEnable (poked :: VkPipelineDepthStencilStateCreateInfo))
*> poke (ptr `plusPtr` 24) (vkDepthWriteEnable (poked :: VkPipelineDepthStencilStateCreateInfo))
*> poke (ptr `plusPtr` 28) (vkDepthCompareOp (poked :: VkPipelineDepthStencilStateCreateInfo))
*> poke (ptr `plusPtr` 32) (vkDepthBoundsTestEnable (poked :: VkPipelineDepthStencilStateCreateInfo))
*> poke (ptr `plusPtr` 36) (vkStencilTestEnable (poked :: VkPipelineDepthStencilStateCreateInfo))
*> poke (ptr `plusPtr` 40) (vkFront (poked :: VkPipelineDepthStencilStateCreateInfo))
*> poke (ptr `plusPtr` 68) (vkBack (poked :: VkPipelineDepthStencilStateCreateInfo))
*> poke (ptr `plusPtr` 96) (vkMinDepthBounds (poked :: VkPipelineDepthStencilStateCreateInfo))
*> poke (ptr `plusPtr` 100) (vkMaxDepthBounds (poked :: VkPipelineDepthStencilStateCreateInfo))
data VkGraphicsPipelineCreateInfo =
VkGraphicsPipelineCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkPipelineCreateFlags
, vkStageCount :: Word32
, vkPStages :: Ptr VkPipelineShaderStageCreateInfo
, vkPVertexInputState :: Ptr VkPipelineVertexInputStateCreateInfo
, vkPInputAssemblyState :: Ptr VkPipelineInputAssemblyStateCreateInfo
, vkPTessellationState :: Ptr VkPipelineTessellationStateCreateInfo
, vkPViewportState :: Ptr VkPipelineViewportStateCreateInfo
, vkPRasterizationState :: Ptr VkPipelineRasterizationStateCreateInfo
, vkPMultisampleState :: Ptr VkPipelineMultisampleStateCreateInfo
, vkPDepthStencilState :: Ptr VkPipelineDepthStencilStateCreateInfo
, vkPColorBlendState :: Ptr VkPipelineColorBlendStateCreateInfo
, vkPDynamicState :: Ptr VkPipelineDynamicStateCreateInfo
, vkLayout :: VkPipelineLayout
, vkRenderPass :: VkRenderPass
, vkSubpass :: Word32
, vkBasePipelineHandle :: VkPipeline
, vkBasePipelineIndex :: Int32
}
deriving (Eq)
instance Storable VkGraphicsPipelineCreateInfo where
sizeOf ~_ = 144
alignment ~_ = 8
peek ptr = VkGraphicsPipelineCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 56)
<*> peek (ptr `plusPtr` 64)
<*> peek (ptr `plusPtr` 72)
<*> peek (ptr `plusPtr` 80)
<*> peek (ptr `plusPtr` 88)
<*> peek (ptr `plusPtr` 96)
<*> peek (ptr `plusPtr` 104)
<*> peek (ptr `plusPtr` 112)
<*> peek (ptr `plusPtr` 120)
<*> peek (ptr `plusPtr` 128)
<*> peek (ptr `plusPtr` 136)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 20) (vkStageCount (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 24) (vkPStages (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 32) (vkPVertexInputState (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 40) (vkPInputAssemblyState (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 48) (vkPTessellationState (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 56) (vkPViewportState (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 64) (vkPRasterizationState (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 72) (vkPMultisampleState (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 80) (vkPDepthStencilState (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 88) (vkPColorBlendState (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 96) (vkPDynamicState (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 104) (vkLayout (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 112) (vkRenderPass (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 120) (vkSubpass (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 128) (vkBasePipelineHandle (poked :: VkGraphicsPipelineCreateInfo))
*> poke (ptr `plusPtr` 136) (vkBasePipelineIndex (poked :: VkGraphicsPipelineCreateInfo))
data VkPipelineCacheCreateInfo =
VkPipelineCacheCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkPipelineCacheCreateFlags
, vkInitialDataSize :: CSize
, vkPInitialData :: Ptr Void
}
deriving (Eq)
instance Storable VkPipelineCacheCreateInfo where
sizeOf ~_ = 40
alignment ~_ = 8
peek ptr = VkPipelineCacheCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkPipelineCacheCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkPipelineCacheCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkPipelineCacheCreateInfo))
*> poke (ptr `plusPtr` 24) (vkInitialDataSize (poked :: VkPipelineCacheCreateInfo))
*> poke (ptr `plusPtr` 32) (vkPInitialData (poked :: VkPipelineCacheCreateInfo))
data VkPushConstantRange =
VkPushConstantRange{ vkStageFlags :: VkShaderStageFlags
, vkOffset :: Word32
, vkSize :: Word32
}
deriving (Eq)
instance Storable VkPushConstantRange where
sizeOf ~_ = 12
alignment ~_ = 4
peek ptr = VkPushConstantRange <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
poke ptr poked = poke (ptr `plusPtr` 0) (vkStageFlags (poked :: VkPushConstantRange))
*> poke (ptr `plusPtr` 4) (vkOffset (poked :: VkPushConstantRange))
*> poke (ptr `plusPtr` 8) (vkSize (poked :: VkPushConstantRange))
data VkPipelineLayoutCreateInfo =
VkPipelineLayoutCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkPipelineLayoutCreateFlags
, vkSetLayoutCount :: Word32
, vkPSetLayouts :: Ptr VkDescriptorSetLayout
, vkPushConstantRangeCount :: Word32
, vkPPushConstantRanges :: Ptr VkPushConstantRange
}
deriving (Eq)
instance Storable VkPipelineLayoutCreateInfo where
sizeOf ~_ = 48
alignment ~_ = 8
peek ptr = VkPipelineLayoutCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkPipelineLayoutCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkPipelineLayoutCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkPipelineLayoutCreateInfo))
*> poke (ptr `plusPtr` 20) (vkSetLayoutCount (poked :: VkPipelineLayoutCreateInfo))
*> poke (ptr `plusPtr` 24) (vkPSetLayouts (poked :: VkPipelineLayoutCreateInfo))
*> poke (ptr `plusPtr` 32) (vkPushConstantRangeCount (poked :: VkPipelineLayoutCreateInfo))
*> poke (ptr `plusPtr` 40) (vkPPushConstantRanges (poked :: VkPipelineLayoutCreateInfo))
data VkSamplerCreateInfo =
VkSamplerCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkSamplerCreateFlags
, vkMagFilter :: VkFilter
, vkMinFilter :: VkFilter
, vkMipmapMode :: VkSamplerMipmapMode
, vkAddressModeU :: VkSamplerAddressMode
, vkAddressModeV :: VkSamplerAddressMode
, vkAddressModeW :: VkSamplerAddressMode
, vkMipLodBias :: CFloat
, vkAnisotropyEnable :: VkBool32
, vkMaxAnisotropy :: CFloat
, vkCompareEnable :: VkBool32
, vkCompareOp :: VkCompareOp
, vkMinLod :: CFloat
, vkMaxLod :: CFloat
, vkBorderColor :: VkBorderColor
, vkUnnormalizedCoordinates :: VkBool32
}
deriving (Eq)
instance Storable VkSamplerCreateInfo where
sizeOf ~_ = 80
alignment ~_ = 8
peek ptr = VkSamplerCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 44)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 52)
<*> peek (ptr `plusPtr` 56)
<*> peek (ptr `plusPtr` 60)
<*> peek (ptr `plusPtr` 64)
<*> peek (ptr `plusPtr` 68)
<*> peek (ptr `plusPtr` 72)
<*> peek (ptr `plusPtr` 76)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 20) (vkMagFilter (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 24) (vkMinFilter (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 28) (vkMipmapMode (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 32) (vkAddressModeU (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 36) (vkAddressModeV (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 40) (vkAddressModeW (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 44) (vkMipLodBias (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 48) (vkAnisotropyEnable (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 52) (vkMaxAnisotropy (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 56) (vkCompareEnable (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 60) (vkCompareOp (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 64) (vkMinLod (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 68) (vkMaxLod (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 72) (vkBorderColor (poked :: VkSamplerCreateInfo))
*> poke (ptr `plusPtr` 76) (vkUnnormalizedCoordinates (poked :: VkSamplerCreateInfo))
data VkCommandPoolCreateInfo =
VkCommandPoolCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkCommandPoolCreateFlags
, vkQueueFamilyIndex :: Word32
}
deriving (Eq)
instance Storable VkCommandPoolCreateInfo where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkCommandPoolCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkCommandPoolCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkCommandPoolCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkCommandPoolCreateInfo))
*> poke (ptr `plusPtr` 20) (vkQueueFamilyIndex (poked :: VkCommandPoolCreateInfo))
data VkCommandBufferAllocateInfo =
VkCommandBufferAllocateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkCommandPool :: VkCommandPool
, vkLevel :: VkCommandBufferLevel
, vkCommandBufferCount :: Word32
}
deriving (Eq)
instance Storable VkCommandBufferAllocateInfo where
sizeOf ~_ = 32
alignment ~_ = 8
peek ptr = VkCommandBufferAllocateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkCommandBufferAllocateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkCommandBufferAllocateInfo))
*> poke (ptr `plusPtr` 16) (vkCommandPool (poked :: VkCommandBufferAllocateInfo))
*> poke (ptr `plusPtr` 24) (vkLevel (poked :: VkCommandBufferAllocateInfo))
*> poke (ptr `plusPtr` 28) (vkCommandBufferCount (poked :: VkCommandBufferAllocateInfo))
data VkCommandBufferInheritanceInfo =
VkCommandBufferInheritanceInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkRenderPass :: VkRenderPass
, vkSubpass :: Word32
, vkFramebuffer :: VkFramebuffer
, vkOcclusionQueryEnable :: VkBool32
, vkQueryFlags :: VkQueryControlFlags
, vkPipelineStatistics :: VkQueryPipelineStatisticFlags
}
deriving (Eq)
instance Storable VkCommandBufferInheritanceInfo where
sizeOf ~_ = 56
alignment ~_ = 8
peek ptr = VkCommandBufferInheritanceInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 44)
<*> peek (ptr `plusPtr` 48)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkCommandBufferInheritanceInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkCommandBufferInheritanceInfo))
*> poke (ptr `plusPtr` 16) (vkRenderPass (poked :: VkCommandBufferInheritanceInfo))
*> poke (ptr `plusPtr` 24) (vkSubpass (poked :: VkCommandBufferInheritanceInfo))
*> poke (ptr `plusPtr` 32) (vkFramebuffer (poked :: VkCommandBufferInheritanceInfo))
*> poke (ptr `plusPtr` 40) (vkOcclusionQueryEnable (poked :: VkCommandBufferInheritanceInfo))
*> poke (ptr `plusPtr` 44) (vkQueryFlags (poked :: VkCommandBufferInheritanceInfo))
*> poke (ptr `plusPtr` 48) (vkPipelineStatistics (poked :: VkCommandBufferInheritanceInfo))
data VkCommandBufferBeginInfo =
VkCommandBufferBeginInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkCommandBufferUsageFlags
, vkPInheritanceInfo :: Ptr VkCommandBufferInheritanceInfo
}
deriving (Eq)
instance Storable VkCommandBufferBeginInfo where
sizeOf ~_ = 32
alignment ~_ = 8
peek ptr = VkCommandBufferBeginInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkCommandBufferBeginInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkCommandBufferBeginInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkCommandBufferBeginInfo))
*> poke (ptr `plusPtr` 24) (vkPInheritanceInfo (poked :: VkCommandBufferBeginInfo))
data VkRenderPassBeginInfo =
VkRenderPassBeginInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkRenderPass :: VkRenderPass
, vkFramebuffer :: VkFramebuffer
, vkRenderArea :: VkRect2D
, vkClearValueCount :: Word32
, vkPClearValues :: Ptr VkClearValue
}
deriving (Eq)
instance Storable VkRenderPassBeginInfo where
sizeOf ~_ = 64
alignment ~_ = 8
peek ptr = VkRenderPassBeginInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 56)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkRenderPassBeginInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkRenderPassBeginInfo))
*> poke (ptr `plusPtr` 16) (vkRenderPass (poked :: VkRenderPassBeginInfo))
*> poke (ptr `plusPtr` 24) (vkFramebuffer (poked :: VkRenderPassBeginInfo))
*> poke (ptr `plusPtr` 32) (vkRenderArea (poked :: VkRenderPassBeginInfo))
*> poke (ptr `plusPtr` 48) (vkClearValueCount (poked :: VkRenderPassBeginInfo))
*> poke (ptr `plusPtr` 56) (vkPClearValues (poked :: VkRenderPassBeginInfo))
data VkClearDepthStencilValue =
VkClearDepthStencilValue{ vkDepth :: CFloat
, vkStencil :: Word32
}
deriving (Eq)
instance Storable VkClearDepthStencilValue where
sizeOf ~_ = 8
alignment ~_ = 4
peek ptr = VkClearDepthStencilValue <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
poke ptr poked = poke (ptr `plusPtr` 0) (vkDepth (poked :: VkClearDepthStencilValue))
*> poke (ptr `plusPtr` 4) (vkStencil (poked :: VkClearDepthStencilValue))
data VkClearAttachment =
VkClearAttachment{ vkAspectMask :: VkImageAspectFlags
, vkColorAttachment :: Word32
, vkClearValue :: VkClearValue
}
deriving (Eq)
instance Storable VkClearAttachment where
sizeOf ~_ = 24
alignment ~_ = 4
peek ptr = VkClearAttachment <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
poke ptr poked = poke (ptr `plusPtr` 0) (vkAspectMask (poked :: VkClearAttachment))
*> poke (ptr `plusPtr` 4) (vkColorAttachment (poked :: VkClearAttachment))
*> poke (ptr `plusPtr` 8) (vkClearValue (poked :: VkClearAttachment))
data VkAttachmentDescription =
VkAttachmentDescription{ vkFlags :: VkAttachmentDescriptionFlags
, vkFormat :: VkFormat
, vkSamples :: VkSampleCountFlagBits
, vkLoadOp :: VkAttachmentLoadOp
, vkStoreOp :: VkAttachmentStoreOp
, vkStencilLoadOp :: VkAttachmentLoadOp
, vkStencilStoreOp :: VkAttachmentStoreOp
, vkInitialLayout :: VkImageLayout
, vkFinalLayout :: VkImageLayout
}
deriving (Eq)
instance Storable VkAttachmentDescription where
sizeOf ~_ = 36
alignment ~_ = 4
peek ptr = VkAttachmentDescription <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 32)
poke ptr poked = poke (ptr `plusPtr` 0) (vkFlags (poked :: VkAttachmentDescription))
*> poke (ptr `plusPtr` 4) (vkFormat (poked :: VkAttachmentDescription))
*> poke (ptr `plusPtr` 8) (vkSamples (poked :: VkAttachmentDescription))
*> poke (ptr `plusPtr` 12) (vkLoadOp (poked :: VkAttachmentDescription))
*> poke (ptr `plusPtr` 16) (vkStoreOp (poked :: VkAttachmentDescription))
*> poke (ptr `plusPtr` 20) (vkStencilLoadOp (poked :: VkAttachmentDescription))
*> poke (ptr `plusPtr` 24) (vkStencilStoreOp (poked :: VkAttachmentDescription))
*> poke (ptr `plusPtr` 28) (vkInitialLayout (poked :: VkAttachmentDescription))
*> poke (ptr `plusPtr` 32) (vkFinalLayout (poked :: VkAttachmentDescription))
data VkAttachmentReference =
VkAttachmentReference{ vkAttachment :: Word32
, vkLayout :: VkImageLayout
}
deriving (Eq)
instance Storable VkAttachmentReference where
sizeOf ~_ = 8
alignment ~_ = 4
peek ptr = VkAttachmentReference <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
poke ptr poked = poke (ptr `plusPtr` 0) (vkAttachment (poked :: VkAttachmentReference))
*> poke (ptr `plusPtr` 4) (vkLayout (poked :: VkAttachmentReference))
data VkSubpassDescription =
VkSubpassDescription{ vkFlags :: VkSubpassDescriptionFlags
, vkPipelineBindPoint :: VkPipelineBindPoint
, vkInputAttachmentCount :: Word32
, vkPInputAttachments :: Ptr VkAttachmentReference
, vkColorAttachmentCount :: Word32
, vkPColorAttachments :: Ptr VkAttachmentReference
, vkPResolveAttachments :: Ptr VkAttachmentReference
, vkPDepthStencilAttachment :: Ptr VkAttachmentReference
, vkPreserveAttachmentCount :: Word32
, vkPPreserveAttachments :: Ptr Word32
}
deriving (Eq)
instance Storable VkSubpassDescription where
sizeOf ~_ = 72
alignment ~_ = 8
peek ptr = VkSubpassDescription <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 56)
<*> peek (ptr `plusPtr` 64)
poke ptr poked = poke (ptr `plusPtr` 0) (vkFlags (poked :: VkSubpassDescription))
*> poke (ptr `plusPtr` 4) (vkPipelineBindPoint (poked :: VkSubpassDescription))
*> poke (ptr `plusPtr` 8) (vkInputAttachmentCount (poked :: VkSubpassDescription))
*> poke (ptr `plusPtr` 16) (vkPInputAttachments (poked :: VkSubpassDescription))
*> poke (ptr `plusPtr` 24) (vkColorAttachmentCount (poked :: VkSubpassDescription))
*> poke (ptr `plusPtr` 32) (vkPColorAttachments (poked :: VkSubpassDescription))
*> poke (ptr `plusPtr` 40) (vkPResolveAttachments (poked :: VkSubpassDescription))
*> poke (ptr `plusPtr` 48) (vkPDepthStencilAttachment (poked :: VkSubpassDescription))
*> poke (ptr `plusPtr` 56) (vkPreserveAttachmentCount (poked :: VkSubpassDescription))
*> poke (ptr `plusPtr` 64) (vkPPreserveAttachments (poked :: VkSubpassDescription))
data VkSubpassDependency =
VkSubpassDependency{ vkSrcSubpass :: Word32
, vkDstSubpass :: Word32
, vkSrcStageMask :: VkPipelineStageFlags
, vkDstStageMask :: VkPipelineStageFlags
, vkSrcAccessMask :: VkAccessFlags
, vkDstAccessMask :: VkAccessFlags
, vkDependencyFlags :: VkDependencyFlags
}
deriving (Eq)
instance Storable VkSubpassDependency where
sizeOf ~_ = 28
alignment ~_ = 4
peek ptr = VkSubpassDependency <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSrcSubpass (poked :: VkSubpassDependency))
*> poke (ptr `plusPtr` 4) (vkDstSubpass (poked :: VkSubpassDependency))
*> poke (ptr `plusPtr` 8) (vkSrcStageMask (poked :: VkSubpassDependency))
*> poke (ptr `plusPtr` 12) (vkDstStageMask (poked :: VkSubpassDependency))
*> poke (ptr `plusPtr` 16) (vkSrcAccessMask (poked :: VkSubpassDependency))
*> poke (ptr `plusPtr` 20) (vkDstAccessMask (poked :: VkSubpassDependency))
*> poke (ptr `plusPtr` 24) (vkDependencyFlags (poked :: VkSubpassDependency))
data VkRenderPassCreateInfo =
VkRenderPassCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkRenderPassCreateFlags
, vkAttachmentCount :: Word32
, vkPAttachments :: Ptr VkAttachmentDescription
, vkSubpassCount :: Word32
, vkPSubpasses :: Ptr VkSubpassDescription
, vkDependencyCount :: Word32
, vkPDependencies :: Ptr VkSubpassDependency
}
deriving (Eq)
instance Storable VkRenderPassCreateInfo where
sizeOf ~_ = 64
alignment ~_ = 8
peek ptr = VkRenderPassCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 56)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkRenderPassCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkRenderPassCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkRenderPassCreateInfo))
*> poke (ptr `plusPtr` 20) (vkAttachmentCount (poked :: VkRenderPassCreateInfo))
*> poke (ptr `plusPtr` 24) (vkPAttachments (poked :: VkRenderPassCreateInfo))
*> poke (ptr `plusPtr` 32) (vkSubpassCount (poked :: VkRenderPassCreateInfo))
*> poke (ptr `plusPtr` 40) (vkPSubpasses (poked :: VkRenderPassCreateInfo))
*> poke (ptr `plusPtr` 48) (vkDependencyCount (poked :: VkRenderPassCreateInfo))
*> poke (ptr `plusPtr` 56) (vkPDependencies (poked :: VkRenderPassCreateInfo))
data VkEventCreateInfo =
VkEventCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkEventCreateFlags
}
deriving (Eq)
instance Storable VkEventCreateInfo where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkEventCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkEventCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkEventCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkEventCreateInfo))
data VkFenceCreateInfo =
VkFenceCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkFenceCreateFlags
}
deriving (Eq)
instance Storable VkFenceCreateInfo where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkFenceCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkFenceCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkFenceCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkFenceCreateInfo))
data VkPhysicalDeviceFeatures =
VkPhysicalDeviceFeatures{ vkRobustBufferAccess :: VkBool32
, vkFullDrawIndexUint :: VkBool32
, vkImageCubeArray :: VkBool32
, vkIndependentBlend :: VkBool32
, vkGeometryShader :: VkBool32
, vkTessellationShader :: VkBool32
, vkSampleRateShading :: VkBool32
, vkDualSrcBlend :: VkBool32
, vkLogicOp :: VkBool32
, vkMultiDrawIndirect :: VkBool32
, vkDrawIndirectFirstInstance :: VkBool32
, vkDepthClamp :: VkBool32
, vkDepthBiasClamp :: VkBool32
, vkFillModeNonSolid :: VkBool32
, vkDepthBounds :: VkBool32
, vkWideLines :: VkBool32
, vkLargePoints :: VkBool32
, vkAlphaToOne :: VkBool32
, vkMultiViewport :: VkBool32
, vkSamplerAnisotropy :: VkBool32
, vkTextureCompressionETC :: VkBool32
, vkTextureCompressionASTC_LDR :: VkBool32
, vkTextureCompressionBC :: VkBool32
, vkOcclusionQueryPrecise :: VkBool32
, vkPipelineStatisticsQuery :: VkBool32
, vkVertexPipelineStoresAndAtomics :: VkBool32
, vkFragmentStoresAndAtomics :: VkBool32
, vkShaderTessellationAndGeometryPointSize :: VkBool32
, vkShaderImageGatherExtended :: VkBool32
, vkShaderStorageImageExtendedFormats :: VkBool32
, vkShaderStorageImageMultisample :: VkBool32
, vkShaderStorageImageReadWithoutFormat :: VkBool32
, vkShaderStorageImageWriteWithoutFormat :: VkBool32
, vkShaderUniformBufferArrayDynamicIndexing :: VkBool32
, vkShaderSampledImageArrayDynamicIndexing :: VkBool32
, vkShaderStorageBufferArrayDynamicIndexing :: VkBool32
, vkShaderStorageImageArrayDynamicIndexing :: VkBool32
, vkShaderClipDistance :: VkBool32
, vkShaderCullDistance :: VkBool32
, vkShaderFloat :: VkBool32
, vkShaderInt :: VkBool32
, vkShaderInt :: VkBool32
, vkShaderResourceResidency :: VkBool32
, vkShaderResourceMinLod :: VkBool32
, vkSparseBinding :: VkBool32
, vkSparseResidencyBuffer :: VkBool32
, vkSparseResidencyImage :: VkBool32
, vkSparseResidencyImage :: VkBool32
, vkSparseResidency :: VkBool32
, vkSparseResidency :: VkBool32
, vkSparseResidency :: VkBool32
, vkSparseResidency :: VkBool32
, vkSparseResidencyAliased :: VkBool32
, vkVariableMultisampleRate :: VkBool32
, vkInheritedQueries :: VkBool32
}
deriving (Eq)
instance Storable VkPhysicalDeviceFeatures where
sizeOf ~_ = 220
alignment ~_ = 4
peek ptr = VkPhysicalDeviceFeatures <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 44)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 52)
<*> peek (ptr `plusPtr` 56)
<*> peek (ptr `plusPtr` 60)
<*> peek (ptr `plusPtr` 64)
<*> peek (ptr `plusPtr` 68)
<*> peek (ptr `plusPtr` 72)
<*> peek (ptr `plusPtr` 76)
<*> peek (ptr `plusPtr` 80)
<*> peek (ptr `plusPtr` 84)
<*> peek (ptr `plusPtr` 88)
<*> peek (ptr `plusPtr` 92)
<*> peek (ptr `plusPtr` 96)
<*> peek (ptr `plusPtr` 100)
<*> peek (ptr `plusPtr` 104)
<*> peek (ptr `plusPtr` 108)
<*> peek (ptr `plusPtr` 112)
<*> peek (ptr `plusPtr` 116)
<*> peek (ptr `plusPtr` 120)
<*> peek (ptr `plusPtr` 124)
<*> peek (ptr `plusPtr` 128)
<*> peek (ptr `plusPtr` 132)
<*> peek (ptr `plusPtr` 136)
<*> peek (ptr `plusPtr` 140)
<*> peek (ptr `plusPtr` 144)
<*> peek (ptr `plusPtr` 148)
<*> peek (ptr `plusPtr` 152)
<*> peek (ptr `plusPtr` 156)
<*> peek (ptr `plusPtr` 160)
<*> peek (ptr `plusPtr` 164)
<*> peek (ptr `plusPtr` 168)
<*> peek (ptr `plusPtr` 172)
<*> peek (ptr `plusPtr` 176)
<*> peek (ptr `plusPtr` 180)
<*> peek (ptr `plusPtr` 184)
<*> peek (ptr `plusPtr` 188)
<*> peek (ptr `plusPtr` 192)
<*> peek (ptr `plusPtr` 196)
<*> peek (ptr `plusPtr` 200)
<*> peek (ptr `plusPtr` 204)
<*> peek (ptr `plusPtr` 208)
<*> peek (ptr `plusPtr` 212)
<*> peek (ptr `plusPtr` 216)
poke ptr poked = poke (ptr `plusPtr` 0) (vkRobustBufferAccess (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 4) (vkFullDrawIndexUint (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 8) (vkImageCubeArray (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 12) (vkIndependentBlend (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 16) (vkGeometryShader (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 20) (vkTessellationShader (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 24) (vkSampleRateShading (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 28) (vkDualSrcBlend (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 32) (vkLogicOp (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 36) (vkMultiDrawIndirect (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 40) (vkDrawIndirectFirstInstance (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 44) (vkDepthClamp (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 48) (vkDepthBiasClamp (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 52) (vkFillModeNonSolid (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 56) (vkDepthBounds (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 60) (vkWideLines (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 64) (vkLargePoints (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 68) (vkAlphaToOne (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 72) (vkMultiViewport (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 76) (vkSamplerAnisotropy (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 80) (vkTextureCompressionETC (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 84) (vkTextureCompressionASTC_LDR (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 88) (vkTextureCompressionBC (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 92) (vkOcclusionQueryPrecise (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 96) (vkPipelineStatisticsQuery (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 100) (vkVertexPipelineStoresAndAtomics (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 104) (vkFragmentStoresAndAtomics (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 108) (vkShaderTessellationAndGeometryPointSize (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 112) (vkShaderImageGatherExtended (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 116) (vkShaderStorageImageExtendedFormats (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 120) (vkShaderStorageImageMultisample (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 124) (vkShaderStorageImageReadWithoutFormat (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 128) (vkShaderStorageImageWriteWithoutFormat (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 132) (vkShaderUniformBufferArrayDynamicIndexing (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 136) (vkShaderSampledImageArrayDynamicIndexing (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 140) (vkShaderStorageBufferArrayDynamicIndexing (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 144) (vkShaderStorageImageArrayDynamicIndexing (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 148) (vkShaderClipDistance (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 152) (vkShaderCullDistance (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 156) (vkShaderFloat (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 160) (vkShaderInt (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 164) (vkShaderInt (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 168) (vkShaderResourceResidency (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 172) (vkShaderResourceMinLod (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 176) (vkSparseBinding (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 180) (vkSparseResidencyBuffer (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 184) (vkSparseResidencyImage (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 188) (vkSparseResidencyImage (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 192) (vkSparseResidency (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 196) (vkSparseResidency (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 200) (vkSparseResidency (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 204) (vkSparseResidency (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 208) (vkSparseResidencyAliased (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 212) (vkVariableMultisampleRate (poked :: VkPhysicalDeviceFeatures))
*> poke (ptr `plusPtr` 216) (vkInheritedQueries (poked :: VkPhysicalDeviceFeatures))
data VkPhysicalDeviceSparseProperties =
VkPhysicalDeviceSparseProperties{ vkResidencyStandard :: VkBool32
, vkResidencyStandard :: VkBool32
, vkResidencyStandard :: VkBool32
, vkResidencyAlignedMipSize :: VkBool32
, vkResidencyNonResidentStrict :: VkBool32
}
deriving (Eq)
instance Storable VkPhysicalDeviceSparseProperties where
sizeOf ~_ = 20
alignment ~_ = 4
peek ptr = VkPhysicalDeviceSparseProperties <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkResidencyStandard (poked :: VkPhysicalDeviceSparseProperties))
*> poke (ptr `plusPtr` 4) (vkResidencyStandard (poked :: VkPhysicalDeviceSparseProperties))
*> poke (ptr `plusPtr` 8) (vkResidencyStandard (poked :: VkPhysicalDeviceSparseProperties))
*> poke (ptr `plusPtr` 12) (vkResidencyAlignedMipSize (poked :: VkPhysicalDeviceSparseProperties))
*> poke (ptr `plusPtr` 16) (vkResidencyNonResidentStrict (poked :: VkPhysicalDeviceSparseProperties))
data VkPhysicalDeviceLimits =
VkPhysicalDeviceLimits{ vkMaxImageDimension :: Word32
, vkMaxImageDimension :: Word32
, vkMaxImageDimension :: Word32
, vkMaxImageDimensionCube :: Word32
, vkMaxImageArrayLayers :: Word32
, vkMaxTexelBufferElements :: Word32
, vkMaxUniformBufferRange :: Word32
, vkMaxStorageBufferRange :: Word32
, vkMaxPushConstantsSize :: Word32
, vkMaxMemoryAllocationCount :: Word32
, vkMaxSamplerAllocationCount :: Word32
, vkBufferImageGranularity :: VkDeviceSize
, vkSparseAddressSpaceSize :: VkDeviceSize
, vkMaxBoundDescriptorSets :: Word32
, vkMaxPerStageDescriptorSamplers :: Word32
, vkMaxPerStageDescriptorUniformBuffers :: Word32
, vkMaxPerStageDescriptorStorageBuffers :: Word32
, vkMaxPerStageDescriptorSampledImages :: Word32
, vkMaxPerStageDescriptorStorageImages :: Word32
, vkMaxPerStageDescriptorInputAttachments :: Word32
, vkMaxPerStageResources :: Word32
, vkMaxDescriptorSetSamplers :: Word32
, vkMaxDescriptorSetUniformBuffers :: Word32
, vkMaxDescriptorSetUniformBuffersDynamic :: Word32
, vkMaxDescriptorSetStorageBuffers :: Word32
, vkMaxDescriptorSetStorageBuffersDynamic :: Word32
, vkMaxDescriptorSetSampledImages :: Word32
, vkMaxDescriptorSetStorageImages :: Word32
, vkMaxDescriptorSetInputAttachments :: Word32
, vkMaxVertexInputAttributes :: Word32
, vkMaxVertexInputBindings :: Word32
, vkMaxVertexInputAttributeOffset :: Word32
, vkMaxVertexInputBindingStride :: Word32
, vkMaxVertexOutputComponents :: Word32
, vkMaxTessellationGenerationLevel :: Word32
, vkMaxTessellationPatchSize :: Word32
, vkMaxTessellationControlPerVertexInputComponents :: Word32
, vkMaxTessellationControlPerVertexOutputComponents :: Word32
, vkMaxTessellationControlPerPatchOutputComponents :: Word32
, vkMaxTessellationControlTotalOutputComponents :: Word32
, vkMaxTessellationEvaluationInputComponents :: Word32
, vkMaxTessellationEvaluationOutputComponents :: Word32
, vkMaxGeometryShaderInvocations :: Word32
, vkMaxGeometryInputComponents :: Word32
, vkMaxGeometryOutputComponents :: Word32
, vkMaxGeometryOutputVertices :: Word32
, vkMaxGeometryTotalOutputComponents :: Word32
, vkMaxFragmentInputComponents :: Word32
, vkMaxFragmentOutputAttachments :: Word32
, vkMaxFragmentDualSrcAttachments :: Word32
, vkMaxFragmentCombinedOutputResources :: Word32
, vkMaxComputeSharedMemorySize :: Word32
, vkMaxComputeWorkGroupCount :: Vec (ToPeano 3) Word32
, vkMaxComputeWorkGroupInvocations :: Word32
, vkMaxComputeWorkGroupSize :: Vec (ToPeano 3) Word32
, vkSubPixelPrecisionBits :: Word32
, vkSubTexelPrecisionBits :: Word32
, vkMipmapPrecisionBits :: Word32
, vkMaxDrawIndexedIndexValue :: Word32
, vkMaxDrawIndirectCount :: Word32
, vkMaxSamplerLodBias :: CFloat
, vkMaxSamplerAnisotropy :: CFloat
, vkMaxViewports :: Word32
, vkMaxViewportDimensions :: Vec (ToPeano 2) Word32
, vkViewportBoundsRange :: Vec (ToPeano 2) CFloat
, vkViewportSubPixelBits :: Word32
, vkMinMemoryMapAlignment :: CSize
, vkMinTexelBufferOffsetAlignment :: VkDeviceSize
, vkMinUniformBufferOffsetAlignment :: VkDeviceSize
, vkMinStorageBufferOffsetAlignment :: VkDeviceSize
, vkMinTexelOffset :: Int32
, vkMaxTexelOffset :: Word32
, vkMinTexelGatherOffset :: Int32
, vkMaxTexelGatherOffset :: Word32
, vkMinInterpolationOffset :: CFloat
, vkMaxInterpolationOffset :: CFloat
, vkSubPixelInterpolationOffsetBits :: Word32
, vkMaxFramebufferWidth :: Word32
, vkMaxFramebufferHeight :: Word32
, vkMaxFramebufferLayers :: Word32
, vkFramebufferColorSampleCounts :: VkSampleCountFlags
, vkFramebufferDepthSampleCounts :: VkSampleCountFlags
, vkFramebufferStencilSampleCounts :: VkSampleCountFlags
, vkFramebufferNoAttachmentsSampleCounts :: VkSampleCountFlags
, vkMaxColorAttachments :: Word32
, vkSampledImageColorSampleCounts :: VkSampleCountFlags
, vkSampledImageIntegerSampleCounts :: VkSampleCountFlags
, vkSampledImageDepthSampleCounts :: VkSampleCountFlags
, vkSampledImageStencilSampleCounts :: VkSampleCountFlags
, vkStorageImageSampleCounts :: VkSampleCountFlags
, vkMaxSampleMaskWords :: Word32
, vkTimestampComputeAndGraphics :: VkBool32
, vkTimestampPeriod :: CFloat
, vkMaxClipDistances :: Word32
, vkMaxCullDistances :: Word32
, vkMaxCombinedClipAndCullDistances :: Word32
, vkDiscreteQueuePriorities :: Word32
, vkPointSizeRange :: Vec (ToPeano 2) CFloat
, vkLineWidthRange :: Vec (ToPeano 2) CFloat
, vkPointSizeGranularity :: CFloat
, vkLineWidthGranularity :: CFloat
, vkStrictLines :: VkBool32
, vkStandardSampleLocations :: VkBool32
, vkOptimalBufferCopyOffsetAlignment :: VkDeviceSize
, vkOptimalBufferCopyRowPitchAlignment :: VkDeviceSize
, vkNonCoherentAtomSize :: VkDeviceSize
}
deriving (Eq)
instance Storable VkPhysicalDeviceLimits where
sizeOf ~_ = 504
alignment ~_ = 8
peek ptr = VkPhysicalDeviceLimits <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 56)
<*> peek (ptr `plusPtr` 64)
<*> peek (ptr `plusPtr` 68)
<*> peek (ptr `plusPtr` 72)
<*> peek (ptr `plusPtr` 76)
<*> peek (ptr `plusPtr` 80)
<*> peek (ptr `plusPtr` 84)
<*> peek (ptr `plusPtr` 88)
<*> peek (ptr `plusPtr` 92)
<*> peek (ptr `plusPtr` 96)
<*> peek (ptr `plusPtr` 100)
<*> peek (ptr `plusPtr` 104)
<*> peek (ptr `plusPtr` 108)
<*> peek (ptr `plusPtr` 112)
<*> peek (ptr `plusPtr` 116)
<*> peek (ptr `plusPtr` 120)
<*> peek (ptr `plusPtr` 124)
<*> peek (ptr `plusPtr` 128)
<*> peek (ptr `plusPtr` 132)
<*> peek (ptr `plusPtr` 136)
<*> peek (ptr `plusPtr` 140)
<*> peek (ptr `plusPtr` 144)
<*> peek (ptr `plusPtr` 148)
<*> peek (ptr `plusPtr` 152)
<*> peek (ptr `plusPtr` 156)
<*> peek (ptr `plusPtr` 160)
<*> peek (ptr `plusPtr` 164)
<*> peek (ptr `plusPtr` 168)
<*> peek (ptr `plusPtr` 172)
<*> peek (ptr `plusPtr` 176)
<*> peek (ptr `plusPtr` 180)
<*> peek (ptr `plusPtr` 184)
<*> peek (ptr `plusPtr` 188)
<*> peek (ptr `plusPtr` 192)
<*> peek (ptr `plusPtr` 196)
<*> peek (ptr `plusPtr` 200)
<*> peek (ptr `plusPtr` 204)
<*> peek (ptr `plusPtr` 208)
<*> peek (ptr `plusPtr` 212)
<*> peek (ptr `plusPtr` 216)
<*> peek (ptr `plusPtr` 220)
<*> peek (ptr `plusPtr` 232)
<*> peek (ptr `plusPtr` 236)
<*> peek (ptr `plusPtr` 248)
<*> peek (ptr `plusPtr` 252)
<*> peek (ptr `plusPtr` 256)
<*> peek (ptr `plusPtr` 260)
<*> peek (ptr `plusPtr` 264)
<*> peek (ptr `plusPtr` 268)
<*> peek (ptr `plusPtr` 272)
<*> peek (ptr `plusPtr` 276)
<*> peek (ptr `plusPtr` 280)
<*> peek (ptr `plusPtr` 288)
<*> peek (ptr `plusPtr` 296)
<*> peek (ptr `plusPtr` 304)
<*> peek (ptr `plusPtr` 312)
<*> peek (ptr `plusPtr` 320)
<*> peek (ptr `plusPtr` 328)
<*> peek (ptr `plusPtr` 336)
<*> peek (ptr `plusPtr` 340)
<*> peek (ptr `plusPtr` 344)
<*> peek (ptr `plusPtr` 348)
<*> peek (ptr `plusPtr` 352)
<*> peek (ptr `plusPtr` 356)
<*> peek (ptr `plusPtr` 360)
<*> peek (ptr `plusPtr` 364)
<*> peek (ptr `plusPtr` 368)
<*> peek (ptr `plusPtr` 372)
<*> peek (ptr `plusPtr` 376)
<*> peek (ptr `plusPtr` 380)
<*> peek (ptr `plusPtr` 384)
<*> peek (ptr `plusPtr` 388)
<*> peek (ptr `plusPtr` 392)
<*> peek (ptr `plusPtr` 396)
<*> peek (ptr `plusPtr` 400)
<*> peek (ptr `plusPtr` 404)
<*> peek (ptr `plusPtr` 408)
<*> peek (ptr `plusPtr` 412)
<*> peek (ptr `plusPtr` 416)
<*> peek (ptr `plusPtr` 420)
<*> peek (ptr `plusPtr` 424)
<*> peek (ptr `plusPtr` 428)
<*> peek (ptr `plusPtr` 432)
<*> peek (ptr `plusPtr` 436)
<*> peek (ptr `plusPtr` 440)
<*> peek (ptr `plusPtr` 444)
<*> peek (ptr `plusPtr` 452)
<*> peek (ptr `plusPtr` 460)
<*> peek (ptr `plusPtr` 464)
<*> peek (ptr `plusPtr` 468)
<*> peek (ptr `plusPtr` 472)
<*> peek (ptr `plusPtr` 480)
<*> peek (ptr `plusPtr` 488)
<*> peek (ptr `plusPtr` 496)
poke ptr poked = poke (ptr `plusPtr` 0) (vkMaxImageDimension (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 4) (vkMaxImageDimension (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 8) (vkMaxImageDimension (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 12) (vkMaxImageDimensionCube (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 16) (vkMaxImageArrayLayers (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 20) (vkMaxTexelBufferElements (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 24) (vkMaxUniformBufferRange (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 28) (vkMaxStorageBufferRange (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 32) (vkMaxPushConstantsSize (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 36) (vkMaxMemoryAllocationCount (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 40) (vkMaxSamplerAllocationCount (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 48) (vkBufferImageGranularity (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 56) (vkSparseAddressSpaceSize (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 64) (vkMaxBoundDescriptorSets (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 68) (vkMaxPerStageDescriptorSamplers (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 72) (vkMaxPerStageDescriptorUniformBuffers (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 76) (vkMaxPerStageDescriptorStorageBuffers (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 80) (vkMaxPerStageDescriptorSampledImages (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 84) (vkMaxPerStageDescriptorStorageImages (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 88) (vkMaxPerStageDescriptorInputAttachments (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 92) (vkMaxPerStageResources (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 96) (vkMaxDescriptorSetSamplers (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 100) (vkMaxDescriptorSetUniformBuffers (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 104) (vkMaxDescriptorSetUniformBuffersDynamic (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 108) (vkMaxDescriptorSetStorageBuffers (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 112) (vkMaxDescriptorSetStorageBuffersDynamic (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 116) (vkMaxDescriptorSetSampledImages (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 120) (vkMaxDescriptorSetStorageImages (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 124) (vkMaxDescriptorSetInputAttachments (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 128) (vkMaxVertexInputAttributes (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 132) (vkMaxVertexInputBindings (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 136) (vkMaxVertexInputAttributeOffset (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 140) (vkMaxVertexInputBindingStride (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 144) (vkMaxVertexOutputComponents (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 148) (vkMaxTessellationGenerationLevel (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 152) (vkMaxTessellationPatchSize (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 156) (vkMaxTessellationControlPerVertexInputComponents (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 160) (vkMaxTessellationControlPerVertexOutputComponents (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 164) (vkMaxTessellationControlPerPatchOutputComponents (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 168) (vkMaxTessellationControlTotalOutputComponents (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 172) (vkMaxTessellationEvaluationInputComponents (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 176) (vkMaxTessellationEvaluationOutputComponents (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 180) (vkMaxGeometryShaderInvocations (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 184) (vkMaxGeometryInputComponents (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 188) (vkMaxGeometryOutputComponents (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 192) (vkMaxGeometryOutputVertices (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 196) (vkMaxGeometryTotalOutputComponents (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 200) (vkMaxFragmentInputComponents (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 204) (vkMaxFragmentOutputAttachments (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 208) (vkMaxFragmentDualSrcAttachments (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 212) (vkMaxFragmentCombinedOutputResources (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 216) (vkMaxComputeSharedMemorySize (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 220) (vkMaxComputeWorkGroupCount (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 232) (vkMaxComputeWorkGroupInvocations (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 236) (vkMaxComputeWorkGroupSize (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 248) (vkSubPixelPrecisionBits (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 252) (vkSubTexelPrecisionBits (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 256) (vkMipmapPrecisionBits (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 260) (vkMaxDrawIndexedIndexValue (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 264) (vkMaxDrawIndirectCount (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 268) (vkMaxSamplerLodBias (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 272) (vkMaxSamplerAnisotropy (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 276) (vkMaxViewports (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 280) (vkMaxViewportDimensions (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 288) (vkViewportBoundsRange (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 296) (vkViewportSubPixelBits (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 304) (vkMinMemoryMapAlignment (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 312) (vkMinTexelBufferOffsetAlignment (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 320) (vkMinUniformBufferOffsetAlignment (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 328) (vkMinStorageBufferOffsetAlignment (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 336) (vkMinTexelOffset (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 340) (vkMaxTexelOffset (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 344) (vkMinTexelGatherOffset (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 348) (vkMaxTexelGatherOffset (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 352) (vkMinInterpolationOffset (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 356) (vkMaxInterpolationOffset (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 360) (vkSubPixelInterpolationOffsetBits (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 364) (vkMaxFramebufferWidth (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 368) (vkMaxFramebufferHeight (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 372) (vkMaxFramebufferLayers (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 376) (vkFramebufferColorSampleCounts (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 380) (vkFramebufferDepthSampleCounts (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 384) (vkFramebufferStencilSampleCounts (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 388) (vkFramebufferNoAttachmentsSampleCounts (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 392) (vkMaxColorAttachments (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 396) (vkSampledImageColorSampleCounts (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 400) (vkSampledImageIntegerSampleCounts (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 404) (vkSampledImageDepthSampleCounts (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 408) (vkSampledImageStencilSampleCounts (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 412) (vkStorageImageSampleCounts (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 416) (vkMaxSampleMaskWords (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 420) (vkTimestampComputeAndGraphics (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 424) (vkTimestampPeriod (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 428) (vkMaxClipDistances (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 432) (vkMaxCullDistances (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 436) (vkMaxCombinedClipAndCullDistances (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 440) (vkDiscreteQueuePriorities (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 444) (vkPointSizeRange (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 452) (vkLineWidthRange (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 460) (vkPointSizeGranularity (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 464) (vkLineWidthGranularity (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 468) (vkStrictLines (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 472) (vkStandardSampleLocations (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 480) (vkOptimalBufferCopyOffsetAlignment (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 488) (vkOptimalBufferCopyRowPitchAlignment (poked :: VkPhysicalDeviceLimits))
*> poke (ptr `plusPtr` 496) (vkNonCoherentAtomSize (poked :: VkPhysicalDeviceLimits))
data VkSemaphoreCreateInfo =
VkSemaphoreCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkSemaphoreCreateFlags
}
deriving (Eq)
instance Storable VkSemaphoreCreateInfo where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkSemaphoreCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkSemaphoreCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkSemaphoreCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkSemaphoreCreateInfo))
data VkQueryPoolCreateInfo =
VkQueryPoolCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkQueryPoolCreateFlags
, vkQueryType :: VkQueryType
, vkQueryCount :: Word32
, vkPipelineStatistics :: VkQueryPipelineStatisticFlags
}
deriving (Eq)
instance Storable VkQueryPoolCreateInfo where
sizeOf ~_ = 32
alignment ~_ = 8
peek ptr = VkQueryPoolCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkQueryPoolCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkQueryPoolCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkQueryPoolCreateInfo))
*> poke (ptr `plusPtr` 20) (vkQueryType (poked :: VkQueryPoolCreateInfo))
*> poke (ptr `plusPtr` 24) (vkQueryCount (poked :: VkQueryPoolCreateInfo))
*> poke (ptr `plusPtr` 28) (vkPipelineStatistics (poked :: VkQueryPoolCreateInfo))
data VkFramebufferCreateInfo =
VkFramebufferCreateInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkFramebufferCreateFlags
, vkRenderPass :: VkRenderPass
, vkAttachmentCount :: Word32
, vkPAttachments :: Ptr VkImageView
, vkWidth :: Word32
, vkHeight :: Word32
, vkLayers :: Word32
}
deriving (Eq)
instance Storable VkFramebufferCreateInfo where
sizeOf ~_ = 64
alignment ~_ = 8
peek ptr = VkFramebufferCreateInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 52)
<*> peek (ptr `plusPtr` 56)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkFramebufferCreateInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkFramebufferCreateInfo))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkFramebufferCreateInfo))
*> poke (ptr `plusPtr` 24) (vkRenderPass (poked :: VkFramebufferCreateInfo))
*> poke (ptr `plusPtr` 32) (vkAttachmentCount (poked :: VkFramebufferCreateInfo))
*> poke (ptr `plusPtr` 40) (vkPAttachments (poked :: VkFramebufferCreateInfo))
*> poke (ptr `plusPtr` 48) (vkWidth (poked :: VkFramebufferCreateInfo))
*> poke (ptr `plusPtr` 52) (vkHeight (poked :: VkFramebufferCreateInfo))
*> poke (ptr `plusPtr` 56) (vkLayers (poked :: VkFramebufferCreateInfo))
data VkDrawIndirectCommand =
VkDrawIndirectCommand{ vkVertexCount :: Word32
, vkInstanceCount :: Word32
, vkFirstVertex :: Word32
, vkFirstInstance :: Word32
}
deriving (Eq)
instance Storable VkDrawIndirectCommand where
sizeOf ~_ = 16
alignment ~_ = 4
peek ptr = VkDrawIndirectCommand <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
poke ptr poked = poke (ptr `plusPtr` 0) (vkVertexCount (poked :: VkDrawIndirectCommand))
*> poke (ptr `plusPtr` 4) (vkInstanceCount (poked :: VkDrawIndirectCommand))
*> poke (ptr `plusPtr` 8) (vkFirstVertex (poked :: VkDrawIndirectCommand))
*> poke (ptr `plusPtr` 12) (vkFirstInstance (poked :: VkDrawIndirectCommand))
data VkDrawIndexedIndirectCommand =
VkDrawIndexedIndirectCommand{ vkIndexCount :: Word32
, vkInstanceCount :: Word32
, vkFirstIndex :: Word32
, vkVertexOffset :: Int32
, vkFirstInstance :: Word32
}
deriving (Eq)
instance Storable VkDrawIndexedIndirectCommand where
sizeOf ~_ = 20
alignment ~_ = 4
peek ptr = VkDrawIndexedIndirectCommand <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkIndexCount (poked :: VkDrawIndexedIndirectCommand))
*> poke (ptr `plusPtr` 4) (vkInstanceCount (poked :: VkDrawIndexedIndirectCommand))
*> poke (ptr `plusPtr` 8) (vkFirstIndex (poked :: VkDrawIndexedIndirectCommand))
*> poke (ptr `plusPtr` 12) (vkVertexOffset (poked :: VkDrawIndexedIndirectCommand))
*> poke (ptr `plusPtr` 16) (vkFirstInstance (poked :: VkDrawIndexedIndirectCommand))
data VkDispatchIndirectCommand =
VkDispatchIndirectCommand{ vkX :: Word32
, vkY :: Word32
, vkZ :: Word32
}
deriving (Eq)
instance Storable VkDispatchIndirectCommand where
sizeOf ~_ = 12
alignment ~_ = 4
peek ptr = VkDispatchIndirectCommand <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
poke ptr poked = poke (ptr `plusPtr` 0) (vkX (poked :: VkDispatchIndirectCommand))
*> poke (ptr `plusPtr` 4) (vkY (poked :: VkDispatchIndirectCommand))
*> poke (ptr `plusPtr` 8) (vkZ (poked :: VkDispatchIndirectCommand))
data VkSubmitInfo =
VkSubmitInfo{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkWaitSemaphoreCount :: Word32
, vkPWaitSemaphores :: Ptr VkSemaphore
, vkPWaitDstStageMask :: Ptr VkPipelineStageFlags
, vkCommandBufferCount :: Word32
, vkPCommandBuffers :: Ptr VkCommandBuffer
, vkSignalSemaphoreCount :: Word32
, vkPSignalSemaphores :: Ptr VkSemaphore
}
deriving (Eq)
instance Storable VkSubmitInfo where
sizeOf ~_ = 72
alignment ~_ = 8
peek ptr = VkSubmitInfo <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 56)
<*> peek (ptr `plusPtr` 64)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkSubmitInfo))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkSubmitInfo))
*> poke (ptr `plusPtr` 16) (vkWaitSemaphoreCount (poked :: VkSubmitInfo))
*> poke (ptr `plusPtr` 24) (vkPWaitSemaphores (poked :: VkSubmitInfo))
*> poke (ptr `plusPtr` 32) (vkPWaitDstStageMask (poked :: VkSubmitInfo))
*> poke (ptr `plusPtr` 40) (vkCommandBufferCount (poked :: VkSubmitInfo))
*> poke (ptr `plusPtr` 48) (vkPCommandBuffers (poked :: VkSubmitInfo))
*> poke (ptr `plusPtr` 56) (vkSignalSemaphoreCount (poked :: VkSubmitInfo))
*> poke (ptr `plusPtr` 64) (vkPSignalSemaphores (poked :: VkSubmitInfo))
data VkDisplayPropertiesKHR =
VkDisplayPropertiesKHR{ vkDisplay :: VkDisplayKHR
, vkDisplayName :: Ptr CChar
, vkPhysicalDimensions :: VkExtent2D
, vkPhysicalResolution :: VkExtent2D
, vkSupportedTransforms :: VkSurfaceTransformFlagsKHR
, vkPlaneReorderPossible :: VkBool32
, vkPersistentContent :: VkBool32
}
deriving (Eq)
instance Storable VkDisplayPropertiesKHR where
sizeOf ~_ = 48
alignment ~_ = 8
peek ptr = VkDisplayPropertiesKHR <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 40)
poke ptr poked = poke (ptr `plusPtr` 0) (vkDisplay (poked :: VkDisplayPropertiesKHR))
*> poke (ptr `plusPtr` 8) (vkDisplayName (poked :: VkDisplayPropertiesKHR))
*> poke (ptr `plusPtr` 16) (vkPhysicalDimensions (poked :: VkDisplayPropertiesKHR))
*> poke (ptr `plusPtr` 24) (vkPhysicalResolution (poked :: VkDisplayPropertiesKHR))
*> poke (ptr `plusPtr` 32) (vkSupportedTransforms (poked :: VkDisplayPropertiesKHR))
*> poke (ptr `plusPtr` 36) (vkPlaneReorderPossible (poked :: VkDisplayPropertiesKHR))
*> poke (ptr `plusPtr` 40) (vkPersistentContent (poked :: VkDisplayPropertiesKHR))
data VkDisplayPlanePropertiesKHR =
VkDisplayPlanePropertiesKHR{ vkCurrentDisplay :: VkDisplayKHR
, vkCurrentStackIndex :: Word32
}
deriving (Eq)
instance Storable VkDisplayPlanePropertiesKHR where
sizeOf ~_ = 16
alignment ~_ = 8
peek ptr = VkDisplayPlanePropertiesKHR <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
poke ptr poked = poke (ptr `plusPtr` 0) (vkCurrentDisplay (poked :: VkDisplayPlanePropertiesKHR))
*> poke (ptr `plusPtr` 8) (vkCurrentStackIndex (poked :: VkDisplayPlanePropertiesKHR))
data VkDisplayModeParametersKHR =
VkDisplayModeParametersKHR{ vkVisibleRegion :: VkExtent2D
, vkRefreshRate :: Word32
}
deriving (Eq)
instance Storable VkDisplayModeParametersKHR where
sizeOf ~_ = 12
alignment ~_ = 4
peek ptr = VkDisplayModeParametersKHR <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
poke ptr poked = poke (ptr `plusPtr` 0) (vkVisibleRegion (poked :: VkDisplayModeParametersKHR))
*> poke (ptr `plusPtr` 8) (vkRefreshRate (poked :: VkDisplayModeParametersKHR))
data VkDisplayModePropertiesKHR =
VkDisplayModePropertiesKHR{ vkDisplayMode :: VkDisplayModeKHR
, vkParameters :: VkDisplayModeParametersKHR
}
deriving (Eq)
instance Storable VkDisplayModePropertiesKHR where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkDisplayModePropertiesKHR <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
poke ptr poked = poke (ptr `plusPtr` 0) (vkDisplayMode (poked :: VkDisplayModePropertiesKHR))
*> poke (ptr `plusPtr` 8) (vkParameters (poked :: VkDisplayModePropertiesKHR))
data VkDisplayModeCreateInfoKHR =
VkDisplayModeCreateInfoKHR{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkDisplayModeCreateFlagsKHR
, vkParameters :: VkDisplayModeParametersKHR
}
deriving (Eq)
instance Storable VkDisplayModeCreateInfoKHR where
sizeOf ~_ = 32
alignment ~_ = 8
peek ptr = VkDisplayModeCreateInfoKHR <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkDisplayModeCreateInfoKHR))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkDisplayModeCreateInfoKHR))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkDisplayModeCreateInfoKHR))
*> poke (ptr `plusPtr` 20) (vkParameters (poked :: VkDisplayModeCreateInfoKHR))
data VkDisplayPlaneCapabilitiesKHR =
VkDisplayPlaneCapabilitiesKHR{ vkSupportedAlpha :: VkDisplayPlaneAlphaFlagsKHR
, vkMinSrcPosition :: VkOffset2D
, vkMaxSrcPosition :: VkOffset2D
, vkMinSrcExtent :: VkExtent2D
, vkMaxSrcExtent :: VkExtent2D
, vkMinDstPosition :: VkOffset2D
, vkMaxDstPosition :: VkOffset2D
, vkMinDstExtent :: VkExtent2D
, vkMaxDstExtent :: VkExtent2D
}
deriving (Eq)
instance Storable VkDisplayPlaneCapabilitiesKHR where
sizeOf ~_ = 68
alignment ~_ = 4
peek ptr = VkDisplayPlaneCapabilitiesKHR <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 12)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 44)
<*> peek (ptr `plusPtr` 52)
<*> peek (ptr `plusPtr` 60)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSupportedAlpha (poked :: VkDisplayPlaneCapabilitiesKHR))
*> poke (ptr `plusPtr` 4) (vkMinSrcPosition (poked :: VkDisplayPlaneCapabilitiesKHR))
*> poke (ptr `plusPtr` 12) (vkMaxSrcPosition (poked :: VkDisplayPlaneCapabilitiesKHR))
*> poke (ptr `plusPtr` 20) (vkMinSrcExtent (poked :: VkDisplayPlaneCapabilitiesKHR))
*> poke (ptr `plusPtr` 28) (vkMaxSrcExtent (poked :: VkDisplayPlaneCapabilitiesKHR))
*> poke (ptr `plusPtr` 36) (vkMinDstPosition (poked :: VkDisplayPlaneCapabilitiesKHR))
*> poke (ptr `plusPtr` 44) (vkMaxDstPosition (poked :: VkDisplayPlaneCapabilitiesKHR))
*> poke (ptr `plusPtr` 52) (vkMinDstExtent (poked :: VkDisplayPlaneCapabilitiesKHR))
*> poke (ptr `plusPtr` 60) (vkMaxDstExtent (poked :: VkDisplayPlaneCapabilitiesKHR))
data VkDisplaySurfaceCreateInfoKHR =
VkDisplaySurfaceCreateInfoKHR{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkDisplaySurfaceCreateFlagsKHR
, vkDisplayMode :: VkDisplayModeKHR
, vkPlaneIndex :: Word32
, vkPlaneStackIndex :: Word32
, vkTransform :: VkSurfaceTransformFlagBitsKHR
, vkGlobalAlpha :: CFloat
, vkAlphaMode :: VkDisplayPlaneAlphaFlagBitsKHR
, vkImageExtent :: VkExtent2D
}
deriving (Eq)
instance Storable VkDisplaySurfaceCreateInfoKHR where
sizeOf ~_ = 64
alignment ~_ = 8
peek ptr = VkDisplaySurfaceCreateInfoKHR <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 44)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 52)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkDisplaySurfaceCreateInfoKHR))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkDisplaySurfaceCreateInfoKHR))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkDisplaySurfaceCreateInfoKHR))
*> poke (ptr `plusPtr` 24) (vkDisplayMode (poked :: VkDisplaySurfaceCreateInfoKHR))
*> poke (ptr `plusPtr` 32) (vkPlaneIndex (poked :: VkDisplaySurfaceCreateInfoKHR))
*> poke (ptr `plusPtr` 36) (vkPlaneStackIndex (poked :: VkDisplaySurfaceCreateInfoKHR))
*> poke (ptr `plusPtr` 40) (vkTransform (poked :: VkDisplaySurfaceCreateInfoKHR))
*> poke (ptr `plusPtr` 44) (vkGlobalAlpha (poked :: VkDisplaySurfaceCreateInfoKHR))
*> poke (ptr `plusPtr` 48) (vkAlphaMode (poked :: VkDisplaySurfaceCreateInfoKHR))
*> poke (ptr `plusPtr` 52) (vkImageExtent (poked :: VkDisplaySurfaceCreateInfoKHR))
data VkDisplayPresentInfoKHR =
VkDisplayPresentInfoKHR{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkSrcRect :: VkRect2D
, vkDstRect :: VkRect2D
, vkPersistent :: VkBool32
}
deriving (Eq)
instance Storable VkDisplayPresentInfoKHR where
sizeOf ~_ = 56
alignment ~_ = 8
peek ptr = VkDisplayPresentInfoKHR <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 48)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkDisplayPresentInfoKHR))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkDisplayPresentInfoKHR))
*> poke (ptr `plusPtr` 16) (vkSrcRect (poked :: VkDisplayPresentInfoKHR))
*> poke (ptr `plusPtr` 32) (vkDstRect (poked :: VkDisplayPresentInfoKHR))
*> poke (ptr `plusPtr` 48) (vkPersistent (poked :: VkDisplayPresentInfoKHR))
data VkSurfaceCapabilitiesKHR =
VkSurfaceCapabilitiesKHR{ vkMinImageCount :: Word32
, vkMaxImageCount :: Word32
, vkCurrentExtent :: VkExtent2D
, vkMinImageExtent :: VkExtent2D
, vkMaxImageExtent :: VkExtent2D
, vkMaxImageArrayLayers :: Word32
, vkSupportedTransforms :: VkSurfaceTransformFlagsKHR
, vkCurrentTransform :: VkSurfaceTransformFlagBitsKHR
, vkSupportedCompositeAlpha :: VkCompositeAlphaFlagsKHR
, vkSupportedUsageFlags :: VkImageUsageFlags
}
deriving (Eq)
instance Storable VkSurfaceCapabilitiesKHR where
sizeOf ~_ = 52
alignment ~_ = 4
peek ptr = VkSurfaceCapabilitiesKHR <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 44)
<*> peek (ptr `plusPtr` 48)
poke ptr poked = poke (ptr `plusPtr` 0) (vkMinImageCount (poked :: VkSurfaceCapabilitiesKHR))
*> poke (ptr `plusPtr` 4) (vkMaxImageCount (poked :: VkSurfaceCapabilitiesKHR))
*> poke (ptr `plusPtr` 8) (vkCurrentExtent (poked :: VkSurfaceCapabilitiesKHR))
*> poke (ptr `plusPtr` 16) (vkMinImageExtent (poked :: VkSurfaceCapabilitiesKHR))
*> poke (ptr `plusPtr` 24) (vkMaxImageExtent (poked :: VkSurfaceCapabilitiesKHR))
*> poke (ptr `plusPtr` 32) (vkMaxImageArrayLayers (poked :: VkSurfaceCapabilitiesKHR))
*> poke (ptr `plusPtr` 36) (vkSupportedTransforms (poked :: VkSurfaceCapabilitiesKHR))
*> poke (ptr `plusPtr` 40) (vkCurrentTransform (poked :: VkSurfaceCapabilitiesKHR))
*> poke (ptr `plusPtr` 44) (vkSupportedCompositeAlpha (poked :: VkSurfaceCapabilitiesKHR))
*> poke (ptr `plusPtr` 48) (vkSupportedUsageFlags (poked :: VkSurfaceCapabilitiesKHR))
data VkSurfaceFormatKHR =
VkSurfaceFormatKHR{ vkFormat :: VkFormat
, vkColorSpace :: VkColorSpaceKHR
}
deriving (Eq)
instance Storable VkSurfaceFormatKHR where
sizeOf ~_ = 8
alignment ~_ = 4
peek ptr = VkSurfaceFormatKHR <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 4)
poke ptr poked = poke (ptr `plusPtr` 0) (vkFormat (poked :: VkSurfaceFormatKHR))
*> poke (ptr `plusPtr` 4) (vkColorSpace (poked :: VkSurfaceFormatKHR))
data VkSwapchainCreateInfoKHR =
VkSwapchainCreateInfoKHR{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkSwapchainCreateFlagsKHR
, vkSurface :: VkSurfaceKHR
, vkMinImageCount :: Word32
, vkImageFormat :: VkFormat
, vkImageColorSpace :: VkColorSpaceKHR
, vkImageExtent :: VkExtent2D
, vkImageArrayLayers :: Word32
, vkImageUsage :: VkImageUsageFlags
, vkImageSharingMode :: VkSharingMode
, vkQueueFamilyIndexCount :: Word32
, vkPQueueFamilyIndices :: Ptr Word32
, vkPreTransform :: VkSurfaceTransformFlagBitsKHR
, vkCompositeAlpha :: VkCompositeAlphaFlagBitsKHR
, vkPresentMode :: VkPresentModeKHR
, vkClipped :: VkBool32
, vkOldSwapchain :: VkSwapchainKHR
}
deriving (Eq)
instance Storable VkSwapchainCreateInfoKHR where
sizeOf ~_ = 104
alignment ~_ = 8
peek ptr = VkSwapchainCreateInfoKHR <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 44)
<*> peek (ptr `plusPtr` 52)
<*> peek (ptr `plusPtr` 56)
<*> peek (ptr `plusPtr` 60)
<*> peek (ptr `plusPtr` 64)
<*> peek (ptr `plusPtr` 72)
<*> peek (ptr `plusPtr` 80)
<*> peek (ptr `plusPtr` 84)
<*> peek (ptr `plusPtr` 88)
<*> peek (ptr `plusPtr` 92)
<*> peek (ptr `plusPtr` 96)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 24) (vkSurface (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 32) (vkMinImageCount (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 36) (vkImageFormat (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 40) (vkImageColorSpace (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 44) (vkImageExtent (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 52) (vkImageArrayLayers (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 56) (vkImageUsage (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 60) (vkImageSharingMode (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 64) (vkQueueFamilyIndexCount (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 72) (vkPQueueFamilyIndices (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 80) (vkPreTransform (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 84) (vkCompositeAlpha (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 88) (vkPresentMode (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 92) (vkClipped (poked :: VkSwapchainCreateInfoKHR))
*> poke (ptr `plusPtr` 96) (vkOldSwapchain (poked :: VkSwapchainCreateInfoKHR))
data VkPresentInfoKHR =
VkPresentInfoKHR{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkWaitSemaphoreCount :: Word32
, vkPWaitSemaphores :: Ptr VkSemaphore
, vkSwapchainCount :: Word32
, vkPSwapchains :: Ptr VkSwapchainKHR
, vkPImageIndices :: Ptr Word32
, vkPResults :: Ptr VkResult
}
deriving (Eq)
instance Storable VkPresentInfoKHR where
sizeOf ~_ = 64
alignment ~_ = 8
peek ptr = VkPresentInfoKHR <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 56)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkPresentInfoKHR))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkPresentInfoKHR))
*> poke (ptr `plusPtr` 16) (vkWaitSemaphoreCount (poked :: VkPresentInfoKHR))
*> poke (ptr `plusPtr` 24) (vkPWaitSemaphores (poked :: VkPresentInfoKHR))
*> poke (ptr `plusPtr` 32) (vkSwapchainCount (poked :: VkPresentInfoKHR))
*> poke (ptr `plusPtr` 40) (vkPSwapchains (poked :: VkPresentInfoKHR))
*> poke (ptr `plusPtr` 48) (vkPImageIndices (poked :: VkPresentInfoKHR))
*> poke (ptr `plusPtr` 56) (vkPResults (poked :: VkPresentInfoKHR))
data VkDebugReportCallbackCreateInfoEXT =
VkDebugReportCallbackCreateInfoEXT{ vkSType :: VkStructureType
, vkPNext :: Ptr Void
, vkFlags :: VkDebugReportFlagsEXT
, vkPfnCallback :: PFN_vkDebugReportCallbackEXT
, vkPUserData :: Ptr Void
}
deriving (Eq)
instance Storable VkDebugReportCallbackCreateInfoEXT where
sizeOf ~_ = 40
alignment ~_ = 8
peek ptr = VkDebugReportCallbackCreateInfoEXT <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 32)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkDebugReportCallbackCreateInfoEXT))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkDebugReportCallbackCreateInfoEXT))
*> poke (ptr `plusPtr` 16) (vkFlags (poked :: VkDebugReportCallbackCreateInfoEXT))
*> poke (ptr `plusPtr` 24) (vkPfnCallback (poked :: VkDebugReportCallbackCreateInfoEXT))
*> poke (ptr `plusPtr` 32) (vkPUserData (poked :: VkDebugReportCallbackCreateInfoEXT))
data VkClearColorValue = VkFloat (Vec (ToPeano 4) CFloat)
| VkInt (Vec (ToPeano 4) Int32)
| VkUint (Vec (ToPeano 4) Word32)
deriving (Eq)
instance Storable VkClearColorValue where
sizeOf ~_ = 16
alignment ~_ = 4
peek ~_ = error "peek@VkClearColorValue"
poke ptr poked = case poked of
VkFloat e -> poke (castPtr ptr) e
VkInt e -> poke (castPtr ptr) e
VkUint e -> poke (castPtr ptr) e
data VkClearValue = VkColor VkClearColorValue
| VkDepthStencil VkClearDepthStencilValue
deriving (Eq)
instance Storable VkClearValue where
sizeOf ~_ = 16
alignment ~_ = 4
peek ~_ = error "peek@VkClearValue"
poke ptr poked = case poked of
VkColor e -> poke (castPtr ptr) e
VkDepthStencil e -> poke (castPtr ptr) e
foreign import ccall "vkCreateInstance" vkCreateInstance ::
Ptr VkInstanceCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkInstance -> IO VkResult
foreign import ccall "vkDestroyInstance" vkDestroyInstance ::
VkInstance -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkEnumeratePhysicalDevices" vkEnumeratePhysicalDevices ::
VkInstance -> Ptr Word32 -> Ptr VkPhysicalDevice -> IO VkResult
foreign import ccall "vkGetDeviceProcAddr" vkGetDeviceProcAddr ::
VkDevice -> Ptr CChar -> IO PFN_vkVoidFunction
foreign import ccall "vkGetInstanceProcAddr" vkGetInstanceProcAddr ::
VkInstance -> Ptr CChar -> IO PFN_vkVoidFunction
foreign import ccall "vkGetPhysicalDeviceProperties" vkGetPhysicalDeviceProperties ::
VkPhysicalDevice -> Ptr VkPhysicalDeviceProperties -> IO ()
foreign import ccall "vkGetPhysicalDeviceQueueFamilyProperties" vkGetPhysicalDeviceQueueFamilyProperties ::
VkPhysicalDevice ->
Ptr Word32 -> Ptr VkQueueFamilyProperties -> IO ()
foreign import ccall "vkGetPhysicalDeviceMemoryProperties" vkGetPhysicalDeviceMemoryProperties ::
VkPhysicalDevice -> Ptr VkPhysicalDeviceMemoryProperties -> IO ()
foreign import ccall "vkGetPhysicalDeviceFeatures" vkGetPhysicalDeviceFeatures ::
VkPhysicalDevice -> Ptr VkPhysicalDeviceFeatures -> IO ()
foreign import ccall "vkGetPhysicalDeviceFormatProperties" vkGetPhysicalDeviceFormatProperties ::
VkPhysicalDevice -> VkFormat -> Ptr VkFormatProperties -> IO ()
foreign import ccall "vkGetPhysicalDeviceImageFormatProperties" vkGetPhysicalDeviceImageFormatProperties ::
VkPhysicalDevice ->
VkFormat ->
VkImageType ->
VkImageTiling ->
VkImageUsageFlags ->
VkImageCreateFlags -> Ptr VkImageFormatProperties -> IO VkResult
foreign import ccall "vkCreateDevice" vkCreateDevice ::
VkPhysicalDevice ->
Ptr VkDeviceCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkDevice -> IO VkResult
foreign import ccall "vkDestroyDevice" vkDestroyDevice ::
VkDevice -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkEnumerateInstanceLayerProperties" vkEnumerateInstanceLayerProperties ::
Ptr Word32 -> Ptr VkLayerProperties -> IO VkResult
foreign import ccall "vkEnumerateInstanceExtensionProperties" vkEnumerateInstanceExtensionProperties ::
Ptr CChar -> Ptr Word32 -> Ptr VkExtensionProperties -> IO VkResult
foreign import ccall "vkEnumerateDeviceLayerProperties" vkEnumerateDeviceLayerProperties ::
VkPhysicalDevice ->
Ptr Word32 -> Ptr VkLayerProperties -> IO VkResult
foreign import ccall "vkEnumerateDeviceExtensionProperties" vkEnumerateDeviceExtensionProperties ::
VkPhysicalDevice ->
Ptr CChar -> Ptr Word32 -> Ptr VkExtensionProperties -> IO VkResult
foreign import ccall "vkGetDeviceQueue" vkGetDeviceQueue ::
VkDevice -> Word32 -> Word32 -> Ptr VkQueue -> IO ()
foreign import ccall "vkQueueSubmit" vkQueueSubmit ::
VkQueue -> Word32 -> Ptr VkSubmitInfo -> VkFence -> IO VkResult
foreign import ccall "vkQueueWaitIdle" vkQueueWaitIdle ::
VkQueue -> IO VkResult
foreign import ccall "vkDeviceWaitIdle" vkDeviceWaitIdle ::
VkDevice -> IO VkResult
foreign import ccall "vkAllocateMemory" vkAllocateMemory ::
VkDevice ->
Ptr VkMemoryAllocateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkDeviceMemory -> IO VkResult
foreign import ccall "vkFreeMemory" vkFreeMemory ::
VkDevice -> VkDeviceMemory -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkMapMemory" vkMapMemory ::
VkDevice ->
VkDeviceMemory ->
VkDeviceSize ->
VkDeviceSize -> VkMemoryMapFlags -> Ptr (Ptr Void) -> IO VkResult
foreign import ccall "vkUnmapMemory" vkUnmapMemory ::
VkDevice -> VkDeviceMemory -> IO ()
foreign import ccall "vkFlushMappedMemoryRanges" vkFlushMappedMemoryRanges ::
VkDevice -> Word32 -> Ptr VkMappedMemoryRange -> IO VkResult
foreign import ccall "vkInvalidateMappedMemoryRanges" vkInvalidateMappedMemoryRanges ::
VkDevice -> Word32 -> Ptr VkMappedMemoryRange -> IO VkResult
foreign import ccall "vkGetDeviceMemoryCommitment" vkGetDeviceMemoryCommitment ::
VkDevice -> VkDeviceMemory -> Ptr VkDeviceSize -> IO ()
foreign import ccall "vkGetBufferMemoryRequirements" vkGetBufferMemoryRequirements ::
VkDevice -> VkBuffer -> Ptr VkMemoryRequirements -> IO ()
foreign import ccall "vkBindBufferMemory" vkBindBufferMemory ::
VkDevice ->
VkBuffer -> VkDeviceMemory -> VkDeviceSize -> IO VkResult
foreign import ccall "vkGetImageMemoryRequirements" vkGetImageMemoryRequirements ::
VkDevice -> VkImage -> Ptr VkMemoryRequirements -> IO ()
foreign import ccall "vkBindImageMemory" vkBindImageMemory ::
VkDevice ->
VkImage -> VkDeviceMemory -> VkDeviceSize -> IO VkResult
foreign import ccall "vkGetImageSparseMemoryRequirements" vkGetImageSparseMemoryRequirements ::
VkDevice ->
VkImage ->
Ptr Word32 -> Ptr VkSparseImageMemoryRequirements -> IO ()
foreign import ccall "vkGetPhysicalDeviceSparseImageFormatProperties" vkGetPhysicalDeviceSparseImageFormatProperties ::
VkPhysicalDevice ->
VkFormat ->
VkImageType ->
VkSampleCountFlagBits ->
VkImageUsageFlags ->
VkImageTiling ->
Ptr Word32 -> Ptr VkSparseImageFormatProperties -> IO ()
foreign import ccall "vkQueueBindSparse" vkQueueBindSparse ::
VkQueue -> Word32 -> Ptr VkBindSparseInfo -> VkFence -> IO VkResult
foreign import ccall "vkCreateFence" vkCreateFence ::
VkDevice ->
Ptr VkFenceCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkFence -> IO VkResult
foreign import ccall "vkDestroyFence" vkDestroyFence ::
VkDevice -> VkFence -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkResetFences" vkResetFences ::
VkDevice -> Word32 -> Ptr VkFence -> IO VkResult
foreign import ccall "vkGetFenceStatus" vkGetFenceStatus ::
VkDevice -> VkFence -> IO VkResult
foreign import ccall "vkWaitForFences" vkWaitForFences ::
VkDevice ->
Word32 -> Ptr VkFence -> VkBool32 -> Word64 -> IO VkResult
foreign import ccall "vkCreateSemaphore" vkCreateSemaphore ::
VkDevice ->
Ptr VkSemaphoreCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkSemaphore -> IO VkResult
foreign import ccall "vkDestroySemaphore" vkDestroySemaphore ::
VkDevice -> VkSemaphore -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkCreateEvent" vkCreateEvent ::
VkDevice ->
Ptr VkEventCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkEvent -> IO VkResult
foreign import ccall "vkDestroyEvent" vkDestroyEvent ::
VkDevice -> VkEvent -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkGetEventStatus" vkGetEventStatus ::
VkDevice -> VkEvent -> IO VkResult
foreign import ccall "vkSetEvent" vkSetEvent ::
VkDevice -> VkEvent -> IO VkResult
foreign import ccall "vkResetEvent" vkResetEvent ::
VkDevice -> VkEvent -> IO VkResult
foreign import ccall "vkCreateQueryPool" vkCreateQueryPool ::
VkDevice ->
Ptr VkQueryPoolCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkQueryPool -> IO VkResult
foreign import ccall "vkDestroyQueryPool" vkDestroyQueryPool ::
VkDevice -> VkQueryPool -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkGetQueryPoolResults" vkGetQueryPoolResults ::
VkDevice ->
VkQueryPool ->
Word32 ->
Word32 ->
CSize ->
Ptr Void -> VkDeviceSize -> VkQueryResultFlags -> IO VkResult
foreign import ccall "vkCreateBuffer" vkCreateBuffer ::
VkDevice ->
Ptr VkBufferCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkBuffer -> IO VkResult
foreign import ccall "vkDestroyBuffer" vkDestroyBuffer ::
VkDevice -> VkBuffer -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkCreateBufferView" vkCreateBufferView ::
VkDevice ->
Ptr VkBufferViewCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkBufferView -> IO VkResult
foreign import ccall "vkDestroyBufferView" vkDestroyBufferView ::
VkDevice -> VkBufferView -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkCreateImage" vkCreateImage ::
VkDevice ->
Ptr VkImageCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkImage -> IO VkResult
foreign import ccall "vkDestroyImage" vkDestroyImage ::
VkDevice -> VkImage -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkGetImageSubresourceLayout" vkGetImageSubresourceLayout ::
VkDevice ->
VkImage ->
Ptr VkImageSubresource -> Ptr VkSubresourceLayout -> IO ()
foreign import ccall "vkCreateImageView" vkCreateImageView ::
VkDevice ->
Ptr VkImageViewCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkImageView -> IO VkResult
foreign import ccall "vkDestroyImageView" vkDestroyImageView ::
VkDevice -> VkImageView -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkCreateShaderModule" vkCreateShaderModule ::
VkDevice ->
Ptr VkShaderModuleCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkShaderModule -> IO VkResult
foreign import ccall "vkDestroyShaderModule" vkDestroyShaderModule ::
VkDevice -> VkShaderModule -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkCreatePipelineCache" vkCreatePipelineCache ::
VkDevice ->
Ptr VkPipelineCacheCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkPipelineCache -> IO VkResult
foreign import ccall "vkDestroyPipelineCache" vkDestroyPipelineCache ::
VkDevice -> VkPipelineCache -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkGetPipelineCacheData" vkGetPipelineCacheData ::
VkDevice -> VkPipelineCache -> Ptr CSize -> Ptr Void -> IO VkResult
foreign import ccall "vkMergePipelineCaches" vkMergePipelineCaches ::
VkDevice ->
VkPipelineCache -> Word32 -> Ptr VkPipelineCache -> IO VkResult
foreign import ccall "vkCreateGraphicsPipelines" vkCreateGraphicsPipelines ::
VkDevice ->
VkPipelineCache ->
Word32 ->
Ptr VkGraphicsPipelineCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkPipeline -> IO VkResult
foreign import ccall "vkCreateComputePipelines" vkCreateComputePipelines ::
VkDevice ->
VkPipelineCache ->
Word32 ->
Ptr VkComputePipelineCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkPipeline -> IO VkResult
foreign import ccall "vkDestroyPipeline" vkDestroyPipeline ::
VkDevice -> VkPipeline -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkCreatePipelineLayout" vkCreatePipelineLayout ::
VkDevice ->
Ptr VkPipelineLayoutCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkPipelineLayout -> IO VkResult
foreign import ccall "vkDestroyPipelineLayout" vkDestroyPipelineLayout ::
VkDevice -> VkPipelineLayout -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkCreateSampler" vkCreateSampler ::
VkDevice ->
Ptr VkSamplerCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkSampler -> IO VkResult
foreign import ccall "vkDestroySampler" vkDestroySampler ::
VkDevice -> VkSampler -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkCreateDescriptorSetLayout" vkCreateDescriptorSetLayout ::
VkDevice ->
Ptr VkDescriptorSetLayoutCreateInfo ->
Ptr VkAllocationCallbacks ->
Ptr VkDescriptorSetLayout -> IO VkResult
foreign import ccall "vkDestroyDescriptorSetLayout" vkDestroyDescriptorSetLayout ::
VkDevice ->
VkDescriptorSetLayout -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkCreateDescriptorPool" vkCreateDescriptorPool ::
VkDevice ->
Ptr VkDescriptorPoolCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkDescriptorPool -> IO VkResult
foreign import ccall "vkDestroyDescriptorPool" vkDestroyDescriptorPool ::
VkDevice -> VkDescriptorPool -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkResetDescriptorPool" vkResetDescriptorPool ::
VkDevice ->
VkDescriptorPool -> VkDescriptorPoolResetFlags -> IO VkResult
foreign import ccall "vkAllocateDescriptorSets" vkAllocateDescriptorSets ::
VkDevice ->
Ptr VkDescriptorSetAllocateInfo ->
Ptr VkDescriptorSet -> IO VkResult
foreign import ccall "vkFreeDescriptorSets" vkFreeDescriptorSets ::
VkDevice ->
VkDescriptorPool -> Word32 -> Ptr VkDescriptorSet -> IO VkResult
foreign import ccall "vkUpdateDescriptorSets" vkUpdateDescriptorSets ::
VkDevice ->
Word32 ->
Ptr VkWriteDescriptorSet ->
Word32 -> Ptr VkCopyDescriptorSet -> IO ()
foreign import ccall "vkCreateFramebuffer" vkCreateFramebuffer ::
VkDevice ->
Ptr VkFramebufferCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkFramebuffer -> IO VkResult
foreign import ccall "vkDestroyFramebuffer" vkDestroyFramebuffer ::
VkDevice -> VkFramebuffer -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkCreateRenderPass" vkCreateRenderPass ::
VkDevice ->
Ptr VkRenderPassCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkRenderPass -> IO VkResult
foreign import ccall "vkDestroyRenderPass" vkDestroyRenderPass ::
VkDevice -> VkRenderPass -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkGetRenderAreaGranularity" vkGetRenderAreaGranularity ::
VkDevice -> VkRenderPass -> Ptr VkExtent2D -> IO ()
foreign import ccall "vkCreateCommandPool" vkCreateCommandPool ::
VkDevice ->
Ptr VkCommandPoolCreateInfo ->
Ptr VkAllocationCallbacks -> Ptr VkCommandPool -> IO VkResult
foreign import ccall "vkDestroyCommandPool" vkDestroyCommandPool ::
VkDevice -> VkCommandPool -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkResetCommandPool" vkResetCommandPool ::
VkDevice -> VkCommandPool -> VkCommandPoolResetFlags -> IO VkResult
foreign import ccall "vkAllocateCommandBuffers" vkAllocateCommandBuffers ::
VkDevice ->
Ptr VkCommandBufferAllocateInfo ->
Ptr VkCommandBuffer -> IO VkResult
foreign import ccall "vkFreeCommandBuffers" vkFreeCommandBuffers ::
VkDevice -> VkCommandPool -> Word32 -> Ptr VkCommandBuffer -> IO ()
foreign import ccall "vkBeginCommandBuffer" vkBeginCommandBuffer ::
VkCommandBuffer -> Ptr VkCommandBufferBeginInfo -> IO VkResult
foreign import ccall "vkEndCommandBuffer" vkEndCommandBuffer ::
VkCommandBuffer -> IO VkResult
foreign import ccall "vkResetCommandBuffer" vkResetCommandBuffer ::
VkCommandBuffer -> VkCommandBufferResetFlags -> IO VkResult
foreign import ccall "vkCmdBindPipeline" vkCmdBindPipeline ::
VkCommandBuffer -> VkPipelineBindPoint -> VkPipeline -> IO ()
foreign import ccall "vkCmdSetViewport" vkCmdSetViewport ::
VkCommandBuffer -> Word32 -> Word32 -> Ptr VkViewport -> IO ()
foreign import ccall "vkCmdSetScissor" vkCmdSetScissor ::
VkCommandBuffer -> Word32 -> Word32 -> Ptr VkRect2D -> IO ()
foreign import ccall "vkCmdSetLineWidth" vkCmdSetLineWidth ::
VkCommandBuffer -> CFloat -> IO ()
foreign import ccall "vkCmdSetDepthBias" vkCmdSetDepthBias ::
VkCommandBuffer -> CFloat -> CFloat -> CFloat -> IO ()
foreign import ccall "vkCmdSetBlendConstants" vkCmdSetBlendConstants ::
VkCommandBuffer -> Ptr CFloat -> IO ()
foreign import ccall "vkCmdSetDepthBounds" vkCmdSetDepthBounds ::
VkCommandBuffer -> CFloat -> CFloat -> IO ()
foreign import ccall "vkCmdSetStencilCompareMask" vkCmdSetStencilCompareMask ::
VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO ()
foreign import ccall "vkCmdSetStencilWriteMask" vkCmdSetStencilWriteMask ::
VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO ()
foreign import ccall "vkCmdSetStencilReference" vkCmdSetStencilReference ::
VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO ()
foreign import ccall "vkCmdBindDescriptorSets" vkCmdBindDescriptorSets ::
VkCommandBuffer ->
VkPipelineBindPoint ->
VkPipelineLayout ->
Word32 ->
Word32 -> Ptr VkDescriptorSet -> Word32 -> Ptr Word32 -> IO ()
foreign import ccall "vkCmdBindIndexBuffer" vkCmdBindIndexBuffer ::
VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkIndexType -> IO ()
foreign import ccall "vkCmdBindVertexBuffers" vkCmdBindVertexBuffers ::
VkCommandBuffer ->
Word32 -> Word32 -> Ptr VkBuffer -> Ptr VkDeviceSize -> IO ()
foreign import ccall "vkCmdDraw" vkCmdDraw ::
VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Word32 -> IO ()
foreign import ccall "vkCmdDrawIndexed" vkCmdDrawIndexed ::
VkCommandBuffer ->
Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> IO ()
foreign import ccall "vkCmdDrawIndirect" vkCmdDrawIndirect ::
VkCommandBuffer ->
VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO ()
foreign import ccall "vkCmdDrawIndexedIndirect" vkCmdDrawIndexedIndirect ::
VkCommandBuffer ->
VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO ()
foreign import ccall "vkCmdDispatch" vkCmdDispatch ::
VkCommandBuffer -> Word32 -> Word32 -> Word32 -> IO ()
foreign import ccall "vkCmdDispatchIndirect" vkCmdDispatchIndirect ::
VkCommandBuffer -> VkBuffer -> VkDeviceSize -> IO ()
foreign import ccall "vkCmdCopyBuffer" vkCmdCopyBuffer ::
VkCommandBuffer ->
VkBuffer -> VkBuffer -> Word32 -> Ptr VkBufferCopy -> IO ()
foreign import ccall "vkCmdCopyImage" vkCmdCopyImage ::
VkCommandBuffer ->
VkImage ->
VkImageLayout ->
VkImage -> VkImageLayout -> Word32 -> Ptr VkImageCopy -> IO ()
foreign import ccall "vkCmdBlitImage" vkCmdBlitImage ::
VkCommandBuffer ->
VkImage ->
VkImageLayout ->
VkImage ->
VkImageLayout -> Word32 -> Ptr VkImageBlit -> VkFilter -> IO ()
foreign import ccall "vkCmdCopyBufferToImage" vkCmdCopyBufferToImage ::
VkCommandBuffer ->
VkBuffer ->
VkImage ->
VkImageLayout -> Word32 -> Ptr VkBufferImageCopy -> IO ()
foreign import ccall "vkCmdCopyImageToBuffer" vkCmdCopyImageToBuffer ::
VkCommandBuffer ->
VkImage ->
VkImageLayout ->
VkBuffer -> Word32 -> Ptr VkBufferImageCopy -> IO ()
foreign import ccall "vkCmdUpdateBuffer" vkCmdUpdateBuffer ::
VkCommandBuffer ->
VkBuffer -> VkDeviceSize -> VkDeviceSize -> Ptr Word32 -> IO ()
foreign import ccall "vkCmdFillBuffer" vkCmdFillBuffer ::
VkCommandBuffer ->
VkBuffer -> VkDeviceSize -> VkDeviceSize -> Word32 -> IO ()
foreign import ccall "vkCmdClearColorImage" vkCmdClearColorImage ::
VkCommandBuffer ->
VkImage ->
VkImageLayout ->
Ptr VkClearColorValue ->
Word32 -> Ptr VkImageSubresourceRange -> IO ()
foreign import ccall "vkCmdClearDepthStencilImage" vkCmdClearDepthStencilImage ::
VkCommandBuffer ->
VkImage ->
VkImageLayout ->
Ptr VkClearDepthStencilValue ->
Word32 -> Ptr VkImageSubresourceRange -> IO ()
foreign import ccall "vkCmdClearAttachments" vkCmdClearAttachments ::
VkCommandBuffer ->
Word32 ->
Ptr VkClearAttachment -> Word32 -> Ptr VkClearRect -> IO ()
foreign import ccall "vkCmdResolveImage" vkCmdResolveImage ::
VkCommandBuffer ->
VkImage ->
VkImageLayout ->
VkImage -> VkImageLayout -> Word32 -> Ptr VkImageResolve -> IO ()
foreign import ccall "vkCmdSetEvent" vkCmdSetEvent ::
VkCommandBuffer -> VkEvent -> VkPipelineStageFlags -> IO ()
foreign import ccall "vkCmdResetEvent" vkCmdResetEvent ::
VkCommandBuffer -> VkEvent -> VkPipelineStageFlags -> IO ()
foreign import ccall "vkCmdWaitEvents" vkCmdWaitEvents ::
VkCommandBuffer ->
Word32 ->
Ptr VkEvent ->
VkPipelineStageFlags ->
VkPipelineStageFlags ->
Word32 ->
Ptr VkMemoryBarrier ->
Word32 ->
Ptr VkBufferMemoryBarrier ->
Word32 -> Ptr VkImageMemoryBarrier -> IO ()
foreign import ccall "vkCmdPipelineBarrier" vkCmdPipelineBarrier ::
VkCommandBuffer ->
VkPipelineStageFlags ->
VkPipelineStageFlags ->
VkDependencyFlags ->
Word32 ->
Ptr VkMemoryBarrier ->
Word32 ->
Ptr VkBufferMemoryBarrier ->
Word32 -> Ptr VkImageMemoryBarrier -> IO ()
foreign import ccall "vkCmdBeginQuery" vkCmdBeginQuery ::
VkCommandBuffer ->
VkQueryPool -> Word32 -> VkQueryControlFlags -> IO ()
foreign import ccall "vkCmdEndQuery" vkCmdEndQuery ::
VkCommandBuffer -> VkQueryPool -> Word32 -> IO ()
foreign import ccall "vkCmdResetQueryPool" vkCmdResetQueryPool ::
VkCommandBuffer -> VkQueryPool -> Word32 -> Word32 -> IO ()
foreign import ccall "vkCmdWriteTimestamp" vkCmdWriteTimestamp ::
VkCommandBuffer ->
VkPipelineStageFlagBits -> VkQueryPool -> Word32 -> IO ()
foreign import ccall "vkCmdCopyQueryPoolResults" vkCmdCopyQueryPoolResults ::
VkCommandBuffer ->
VkQueryPool ->
Word32 ->
Word32 ->
VkBuffer ->
VkDeviceSize -> VkDeviceSize -> VkQueryResultFlags -> IO ()
foreign import ccall "vkCmdPushConstants" vkCmdPushConstants ::
VkCommandBuffer ->
VkPipelineLayout ->
VkShaderStageFlags -> Word32 -> Word32 -> Ptr Void -> IO ()
foreign import ccall "vkCmdBeginRenderPass" vkCmdBeginRenderPass ::
VkCommandBuffer ->
Ptr VkRenderPassBeginInfo -> VkSubpassContents -> IO ()
foreign import ccall "vkCmdNextSubpass" vkCmdNextSubpass ::
VkCommandBuffer -> VkSubpassContents -> IO ()
foreign import ccall "vkCmdEndRenderPass" vkCmdEndRenderPass ::
VkCommandBuffer -> IO ()
foreign import ccall "vkCmdExecuteCommands" vkCmdExecuteCommands ::
VkCommandBuffer -> Word32 -> Ptr VkCommandBuffer -> IO ()
foreign import ccall "vkGetPhysicalDeviceDisplayPropertiesKHR" vkGetPhysicalDeviceDisplayPropertiesKHR ::
VkPhysicalDevice ->
Ptr Word32 -> Ptr VkDisplayPropertiesKHR -> IO VkResult
foreign import ccall "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" vkGetPhysicalDeviceDisplayPlanePropertiesKHR ::
VkPhysicalDevice ->
Ptr Word32 -> Ptr VkDisplayPlanePropertiesKHR -> IO VkResult
foreign import ccall "vkGetDisplayPlaneSupportedDisplaysKHR" vkGetDisplayPlaneSupportedDisplaysKHR ::
VkPhysicalDevice ->
Word32 -> Ptr Word32 -> Ptr VkDisplayKHR -> IO VkResult
foreign import ccall "vkGetDisplayModePropertiesKHR" vkGetDisplayModePropertiesKHR ::
VkPhysicalDevice ->
VkDisplayKHR ->
Ptr Word32 -> Ptr VkDisplayModePropertiesKHR -> IO VkResult
foreign import ccall "vkCreateDisplayModeKHR" vkCreateDisplayModeKHR ::
VkPhysicalDevice ->
VkDisplayKHR ->
Ptr VkDisplayModeCreateInfoKHR ->
Ptr VkAllocationCallbacks -> Ptr VkDisplayModeKHR -> IO VkResult
foreign import ccall "vkGetDisplayPlaneCapabilitiesKHR" vkGetDisplayPlaneCapabilitiesKHR ::
VkPhysicalDevice ->
VkDisplayModeKHR ->
Word32 -> Ptr VkDisplayPlaneCapabilitiesKHR -> IO VkResult
foreign import ccall "vkCreateDisplayPlaneSurfaceKHR" vkCreateDisplayPlaneSurfaceKHR ::
VkInstance ->
Ptr VkDisplaySurfaceCreateInfoKHR ->
Ptr VkAllocationCallbacks -> Ptr VkSurfaceKHR -> IO VkResult
foreign import ccall "vkCreateSharedSwapchainsKHR" vkCreateSharedSwapchainsKHR ::
VkDevice ->
Word32 ->
Ptr VkSwapchainCreateInfoKHR ->
Ptr VkAllocationCallbacks -> Ptr VkSwapchainKHR -> IO VkResult
foreign import ccall "vkDestroySurfaceKHR" vkDestroySurfaceKHR ::
VkInstance -> VkSurfaceKHR -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkGetPhysicalDeviceSurfaceSupportKHR" vkGetPhysicalDeviceSurfaceSupportKHR ::
VkPhysicalDevice ->
Word32 -> VkSurfaceKHR -> Ptr VkBool32 -> IO VkResult
foreign import ccall "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" vkGetPhysicalDeviceSurfaceCapabilitiesKHR ::
VkPhysicalDevice ->
VkSurfaceKHR -> Ptr VkSurfaceCapabilitiesKHR -> IO VkResult
foreign import ccall "vkGetPhysicalDeviceSurfaceFormatsKHR" vkGetPhysicalDeviceSurfaceFormatsKHR ::
VkPhysicalDevice ->
VkSurfaceKHR -> Ptr Word32 -> Ptr VkSurfaceFormatKHR -> IO VkResult
foreign import ccall "vkGetPhysicalDeviceSurfacePresentModesKHR" vkGetPhysicalDeviceSurfacePresentModesKHR ::
VkPhysicalDevice ->
VkSurfaceKHR -> Ptr Word32 -> Ptr VkPresentModeKHR -> IO VkResult
foreign import ccall "vkCreateSwapchainKHR" vkCreateSwapchainKHR ::
VkDevice ->
Ptr VkSwapchainCreateInfoKHR ->
Ptr VkAllocationCallbacks -> Ptr VkSwapchainKHR -> IO VkResult
foreign import ccall "vkDestroySwapchainKHR" vkDestroySwapchainKHR ::
VkDevice -> VkSwapchainKHR -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkGetSwapchainImagesKHR" vkGetSwapchainImagesKHR ::
VkDevice ->
VkSwapchainKHR -> Ptr Word32 -> Ptr VkImage -> IO VkResult
foreign import ccall "vkAcquireNextImageKHR" vkAcquireNextImageKHR ::
VkDevice ->
VkSwapchainKHR ->
Word64 -> VkSemaphore -> VkFence -> Ptr Word32 -> IO VkResult
foreign import ccall "vkQueuePresentKHR" vkQueuePresentKHR ::
VkQueue -> Ptr VkPresentInfoKHR -> IO VkResult
foreign import ccall "vkGetPhysicalDeviceWin32PresentationSupportKHR" vkGetPhysicalDeviceWin32PresentationSupportKHR ::
VkPhysicalDevice -> Word32 -> IO VkBool32
foreign import ccall "vkCreateDebugReportCallbackEXT" vkCreateDebugReportCallbackEXT ::
VkInstance ->
Ptr VkDebugReportCallbackCreateInfoEXT ->
Ptr VkAllocationCallbacks ->
Ptr VkDebugReportCallbackEXT -> IO VkResult
foreign import ccall "vkDestroyDebugReportCallbackEXT" vkDestroyDebugReportCallbackEXT ::
VkInstance ->
VkDebugReportCallbackEXT -> Ptr VkAllocationCallbacks -> IO ()
foreign import ccall "vkDebugReportMessageEXT" vkDebugReportMessageEXT ::
VkInstance ->
VkDebugReportFlagsEXT ->
VkDebugReportObjectTypeEXT ->
Word64 -> CSize -> Int32 -> Ptr CChar -> Ptr CChar -> IO ()